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.