Migrations GUI

Last updated on May 07, 2026

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 rows
  • JSON: raw migration records and file metadata
  • LOGS: 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.swift
  • Sources/FirestructApp/Features/Migrations/Services/AppModel+MigrationActions.swift
  • Sources/FirestructApp/Features/Migrations/Model/MigrationStore.swift
  • Sources/FirestructCore/FirewayIntegrationService.swift
  • Sources/FirestructCore/ProjectRegistry+Migrations.swift