/** * SQL 마이그레이션 실행 스크립트 * 사용법: node scripts/run-migration.js */ const fs = require('fs'); const path = require('path'); const { Pool } = require('pg'); // DATABASE_URL에서 연결 정보 파싱 const databaseUrl = process.env.DATABASE_URL || 'postgresql://postgres:ph0909!!@39.117.244.52:11132/plm'; // 데이터베이스 연결 설정 const pool = new Pool({ connectionString: databaseUrl, }); async function runMigration() { const client = await pool.connect(); try { console.log('🔄 마이그레이션 시작...\n'); // SQL 파일 읽기 (Docker 컨테이너 내부 경로) const sqlPath = '/tmp/migration.sql'; const sql = fs.readFileSync(sqlPath, 'utf8'); console.log('📄 SQL 파일 로드 완료'); console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'); // SQL 실행 await client.query(sql); console.log('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); console.log('✅ 마이그레이션 성공적으로 완료되었습니다!'); console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n'); } catch (error) { console.error('\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); console.error('❌ 마이그레이션 실패:'); console.error('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'); console.error(error); console.error('\n💡 롤백이 필요한 경우 롤백 스크립트를 실행하세요.'); process.exit(1); } finally { client.release(); await pool.end(); } } // 실행 runMigration();