projeto base completo
This commit is contained in:
23
scripts/migrate.ts
Normal file
23
scripts/migrate.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
// 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);
|
||||
});
|
||||
Reference in New Issue
Block a user