6.0 KiB
6.0 KiB
M4 Seed Data
What This Seed Contains
This seed reflects the full local database state as of M4 and is the canonical reference for populating the validation (staging) database.
Entity Inventory
| Entity | Count | Notes |
|---|---|---|
User |
2 | 1 business user (Krow), 1 staff user (Mariana Torres) |
Business |
1 | "Krow" — ACTIVE, PREMIUM rate group |
Team |
1 | Krow team |
TeamHub |
3 | City Ops, Central Ops, Downtown Ops |
Vendor |
1 | "Golden Gate Event Services" — APPROVED, PREFERRED tier |
VendorRate |
4 | Rate cards per role category |
RoleCategory |
9 | All categories (Kitchen, Concessions, Facilities, Bartending, Security, Event Staff, Management, Technical, Other) |
Role |
4 | Cook, Bartender, Event Staff, Security Guard |
Staff |
6 | Mariana Torres, Ethan Walker, Sofia Ramirez, Lucas Chen, Priya Patel, Miguel Alvarez |
Workforce |
6 | One workforce record per staff member under Golden Gate vendor |
StaffRole |
8 | Skill/role assignments per staff |
StaffAvailability |
9 | Weekly availability slots for 3 primary staff members |
Certificate |
4 | Food Handler, Background Check, RBS, Safety certs for Mariana Torres |
Document |
3 | Document type catalog (W4, I9, ID Copy) |
TaxForm |
1 | W4 form for Mariana Torres |
Order |
20 | Mix of COMPLETED (12), POSTED (4), PARTIAL_STAFFED (4) |
Shift |
20 | COMPLETED (12), OPEN (8) |
ShiftRole |
20 | 1 per shift |
Assignment |
4 | New M4 fulfillment flow via Workforce |
Application |
19 | COMPLETED (15), CONFIRMED (4) |
Invoice |
12 | PAID (2), APPROVED (10) |
RecentPayment |
3 | For PAID invoices only |
Date Range
- Historical completed orders: Jan 26 – Feb 2, 2026
- Open/posted orders: Feb 3 – Feb 8, 2026
Prerequisites
-
Firebase CLI installed and authenticated:
npm install -g firebase-tools firebase login -
Firebase project configured for the validation environment. Check the project alias:
firebase projects:list -
Data Connect service deployed on the validation project. The schema must be migrated before seeding.
-
The validation database must be empty or truncated before running this seed. Re-running on existing data will cause duplicate key errors (all IDs are hardcoded UUIDs).
How to Run Against the Validation DB
Option A — Firebase CLI (Recommended)
# From the repo root
firebase dataconnect:sdk:generate # ensure SDK is in sync
# Execute the seed mutation directly
firebase dataconnect:execute \
--project <validation-project-id> \
docs/MILESTONES/M4/Seed/seed.gql
Option B — Firebase Console
- Open Firebase Console → select the validation project
- Navigate to Data Connect → Execute
- Paste the contents of
seed.gql - Click Run
Option C — VS Code Extension
- Open the Firebase Data Connect extension
- Switch to the validation project
- Open
seed.gql, click Run mutation
Important Notes
- Do not run automatically — this file is committed as a reference only. Manual execution is required.
- Idempotency: This seed is NOT idempotent. Running it twice on the same database will fail due to unique constraint violations on hardcoded IDs.
- Transaction: The entire seed runs in a single
@transaction. If any insert fails, the whole mutation rolls back. - Composite keys:
Certificate,StaffRole,StaffAvailability, andStaffDocumentuse composite primary keys. Duplicate(staffId, type)combinations will cause failures. - Validation DB project ID: Confirm the target project ID with the team before running.
Seed Source Reference
The base data (Users through RecentPayments) mirrors backend/dataconnect/functions/seed.gql (v.3).
M4 additions: VendorRate, Workforce, StaffRole, StaffAvailability, Certificate, Document, TaxForm, Assignment.