- Rewrite scripts/run-migrations.js for PostgreSQL (was better-sqlite3) - Rewrite scripts/load-initial-data.js for PostgreSQL (was better-sqlite3) - Make db connection lazy in src/lib/db/index.ts to avoid build-time errors when DATABASE_URL is not available in Docker build stage
25 lines
764 B
JavaScript
25 lines
764 B
JavaScript
const path = require('path');
|
|
const { Pool } = require('pg');
|
|
const { drizzle } = require('drizzle-orm/node-postgres');
|
|
const { migrate } = require('drizzle-orm/node-postgres/migrator');
|
|
|
|
const migrationsFolder = path.join(__dirname, '..', 'drizzle');
|
|
|
|
const DATABASE_URL = process.env.DATABASE_URL;
|
|
if (!DATABASE_URL) {
|
|
console.error('❌ DATABASE_URL environment variable is not set');
|
|
process.exit(1);
|
|
}
|
|
|
|
const pool = new Pool({ connectionString: DATABASE_URL, max: 2 });
|
|
const db = drizzle(pool);
|
|
|
|
migrate(db, { migrationsFolder })
|
|
.then(() => {
|
|
console.log('✅ Database migrations completed');
|
|
return pool.end();
|
|
})
|
|
.catch((error) => {
|
|
console.error('❌ Migration failed:', error);
|
|
pool.end().finally(() => process.exit(1));
|
|
});
|