Purpose
The Migrations module integrates local Fireway migration files with Firestore migration records. It helps users inspect migration status, source contents, and environment alignment before execution workflows are enabled or applied.
Inputs
- linked local workspace path
- Fireway migration files
- configured migration collection
- selected project/database
- Firestore migration records
Outputs
TABLE: migration status rowsJSON: raw migration records and file metadataLOGS: local file, Firestore, parse, and comparison logs
Actions
Current GUI coverage includes listing status and source file content. Execution hooks are phase 2 and must be guarded by production confirmation, read-only checks, Pro access, and task queue progress.
Use this module when a release or support session needs to answer four questions before running any migration tooling: which local files exist, which Firestore migration records exist, which files appear unapplied, and which project/database is being inspected. Keeping those details in one view reduces the risk of comparing local development files against the wrong Firebase environment.
The source preview is intentionally part of the workflow. Review the migration body, file name, identifier, and remote record together before escalating to an execution path outside Firestruct. If a record is missing or mismatched, use the logs output to determine whether the issue came from local file discovery, workspace-link configuration, Firestore access, or migration collection setup.
Safety
- Applying migrations is Pro-gated.
- Production migration apply requires explicit confirmation.
- Migration execution must run through Tasks.
- Source file content and remote records should be visible before apply.
Source Anchors
Sources/FirestructApp/Features/Migrations/UI/MigrationExplorerView.swiftSources/FirestructApp/Features/Migrations/Services/AppModel+MigrationActions.swiftSources/FirestructApp/Features/Migrations/Model/MigrationStore.swiftSources/FirestructCore/FirewayIntegrationService.swiftSources/FirestructCore/ProjectRegistry+Migrations.swift