24 lines
793 B
TypeScript
24 lines
793 B
TypeScript
// Aplica as migrations de ./drizzle no banco. No container roda antes do servidor subir,
|
|
// empacotado com esbuild (não depende do drizzle-kit, que é devDependency).
|
|
import { drizzle } from "drizzle-orm/node-postgres";
|
|
import { migrate } from "drizzle-orm/node-postgres/migrator";
|
|
import { Pool } from "pg";
|
|
|
|
async function main() {
|
|
if (!process.env.DATABASE_URL) {
|
|
throw new Error("DATABASE_URL não definida.");
|
|
}
|
|
const pool = new Pool({ connectionString: process.env.DATABASE_URL });
|
|
try {
|
|
await migrate(drizzle(pool), { migrationsFolder: process.env.MIGRATIONS_DIR ?? "./drizzle" });
|
|
console.log("Migrations aplicadas.");
|
|
} finally {
|
|
await pool.end();
|
|
}
|
|
}
|
|
|
|
main().catch((err) => {
|
|
console.error("Falha ao aplicar migrations:", err);
|
|
process.exit(1);
|
|
});
|