Spaces:
Paused
Paused
| import { applyPendingMigrations, inspectMigrations } from "./client.js"; | |
| import { resolveMigrationConnection } from "./migration-runtime.js"; | |
| async function main(): Promise<void> { | |
| const resolved = await resolveMigrationConnection(); | |
| console.log(`Migrating database via ${resolved.source}`); | |
| try { | |
| const before = await inspectMigrations(resolved.connectionString); | |
| if (before.status === "upToDate") { | |
| console.log("No pending migrations"); | |
| return; | |
| } | |
| console.log(`Applying ${before.pendingMigrations.length} pending migration(s)...`); | |
| await applyPendingMigrations(resolved.connectionString); | |
| const after = await inspectMigrations(resolved.connectionString); | |
| if (after.status !== "upToDate") { | |
| throw new Error(`Migrations incomplete: ${after.pendingMigrations.join(", ")}`); | |
| } | |
| console.log("Migrations complete"); | |
| } finally { | |
| await resolved.stop(); | |
| } | |
| } | |
| await main(); | |