Files
adaptador-planilhas/scripts/migrate.ts
T
Ferraz Fagundes 8c22597420
ci / lint, typecheck, testes e build (push) Canceled after 0s
ci / Postgres e Redis reais (push) Canceled after 0s
ci / imagem Docker Linux (push) Canceled after 0s
fix(db): protege conexoes e migrations de homologacao
2026-10-19 16:32:03 -03:00

29 lines
1.1 KiB
TypeScript

import { identityShimEnabled } from "../src/config/env";
import { migrate, pendingMigrations } from "../src/infra/db/migrate";
import { bootstrapScript, describeTarget, runWithDb } from "./_bootstrap";
/**
* Aplica as migrations pendentes. `--dry-run` apenas lista: usado no pipeline
* antes do passo manual de migração, para que ninguém descubra o que vai rodar
* só depois de ter rodado.
*/
const dryRun = process.argv.includes("--dry-run");
bootstrapScript("migrate");
runWithDb("migrate", "admin", async (db) => {
const pending = await pendingMigrations(db);
console.log(`alvo: ${describeTarget()}`);
console.log(`shim de identidade: ${identityShimEnabled() ? "SERÁ aplicado" : "NÃO será aplicado"}`);
if (pending.length === 0) {
console.log("migrations: nada pendente");
return;
}
if (dryRun) {
console.log(`migrations pendentes (dry-run, nada aplicado): ${pending.join(", ")}`);
return;
}
const ran = await migrate(db);
console.log(ran.length ? `migrations aplicadas: ${ran.join(", ")}` : "migrations: nada pendente");
});