FabricFabricAirlift
Automation (CLI)

Migration-pack commands

Compile, register, and certify executable SQL Server, Snowflake, Redshift, Oracle, Teradata, and Hadoop migration packs.

Migration-pack commands

fa migration-pack compiles an exported source inventory into an executable migration bundle. It does more than generate a checklist: the compiler validates dependencies, routes every object to an automation or remediation lane, defines restartable data movement, selects validation suites, and produces immutable target requirements.

Use fa source to inspect the broader capability catalog or draft a generic engagement plan. Use fa migration-pack when you have a real, versioned inventory for one of these executable packs:

SourceSupported variantsData movement checkpoint
Microsoft SQLSQL Server, Azure SQL Database, Managed InstanceLSN, change tracking, or application watermark
Snowflakeaccount and warehouse metadataunload manifest plus stream, timestamp, or application watermark
Amazon Redshiftprovisioned, Multi-AZ, serverlessS3 UNLOAD manifest plus sequence, timestamp, or application watermark
OracleDatabase, Exadata, Autonomous Databaseconsistent snapshot plus SCN or timestamp watermark
TeradataVantage and appliance estatesutility restart state plus source watermark
HadoopCloudera, Hortonworks, Apache Hadoopfile manifest plus ingestion watermark

Manifest contract

The input is credential-free JSON. Keep connection secrets in the execution system, not in the manifest.

{
  "schemaVersion": 1,
  "estate": {
    "name": "Commerce Oracle estate",
    "sourceSystem": "oracle",
    "variant": "oracle_database",
    "sourceVersion": "19c",
    "sourceSnapshot": "2025-01-15T12:00:00.000Z"
  },
  "inventory": [
    {
      "sourceId": "package:order_api",
      "name": "ORDER_API",
      "kind": "package",
      "sourcePath": "exports/packages/order_api.sql",
      "owner": "order-platform",
      "dependencies": ["table:orders"],
      "hardCases": ["plsql_package", "exception_handling"]
    }
  ]
}

The schema rejects duplicate source IDs, missing dependency nodes, invalid source and variant combinations, unknown hard-case labels, and dependency cycles. It deliberately has no credential, token, or connection-string fields.

Inspect

fa migration-pack inspect --file source-manifest.json
fa migration-pack inspect --file source-manifest.json --json

Inspection prints scope, dependency order, routing totals, required hard-case coverage, missing cases, and the canonical bundle digest. Missing hard cases remain visible because a small inventory must not silently certify a larger source capability.

Plan

fa migration-pack plan \
  --file source-manifest.json \
  --json > migration-plan.json

The generated application/vnd.fabric.airlift.migration-pack+json bundle contains:

  • the accepted inventory digest and stable dependency order;
  • deterministic, bounded-agent, and human-remediation routes per object;
  • source-specific snapshot, catch-up, restart, and reconciliation requirements;
  • required Experiments validation suites and discrepancy return paths;
  • Unity Catalog, Delta, Lakeflow, Databricks SQL, and runtime target mappings;
  • a Runway-owned immutable deployment requirement; and
  • a canonical SHA-256 digest.

The same manifest produces the same bundle and digest.

Register

fa migration-pack register \
  --file migration-plan.json \
  --engagement-id <engagement-id> \
  --estate-id <estate-id> \
  --artifact-id <immutable-artifact-reference> \
  --idempotency-key <stable-key>

Registration invokes the governed airlift.artifact_register action through the authenticated API. The CLI records the immutable reference and digest. It neither uploads source exports nor creates an alternate mutation path.

Certification check

Run the recurring, account-independent suite for all six packs:

pnpm certify:migration-packs

Evaluate a generated evidence request independently:

fa migration-pack certification-check \
  --file reports/f9-oracle-evidence.json \
  --json

The evaluator requires a complete source hard-case corpus and one bound build and dataset across all stages. It accepts only hermetic_proven and workspace_proven. Client acceptance and production certification require external evidence and cannot be requested through this command.

See migration-pack certification for the evidence contract.

On this page