43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
|
|
import { PostgreSQLService } from './PostgreSQLService';
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 데이터베이스 마이그레이션 실행
|
|||
|
|
* dashboard_elements 테이블에 custom_title, show_header 컬럼 추가
|
|||
|
|
*/
|
|||
|
|
export async function runDashboardMigration() {
|
|||
|
|
try {
|
|||
|
|
console.log('🔄 대시보드 마이그레이션 시작...');
|
|||
|
|
|
|||
|
|
// custom_title 컬럼 추가
|
|||
|
|
await PostgreSQLService.query(`
|
|||
|
|
ALTER TABLE dashboard_elements
|
|||
|
|
ADD COLUMN IF NOT EXISTS custom_title VARCHAR(255)
|
|||
|
|
`);
|
|||
|
|
console.log('✅ custom_title 컬럼 추가 완료');
|
|||
|
|
|
|||
|
|
// show_header 컬럼 추가
|
|||
|
|
await PostgreSQLService.query(`
|
|||
|
|
ALTER TABLE dashboard_elements
|
|||
|
|
ADD COLUMN IF NOT EXISTS show_header BOOLEAN DEFAULT true
|
|||
|
|
`);
|
|||
|
|
console.log('✅ show_header 컬럼 추가 완료');
|
|||
|
|
|
|||
|
|
// 기존 데이터 업데이트
|
|||
|
|
await PostgreSQLService.query(`
|
|||
|
|
UPDATE dashboard_elements
|
|||
|
|
SET show_header = true
|
|||
|
|
WHERE show_header IS NULL
|
|||
|
|
`);
|
|||
|
|
console.log('✅ 기존 데이터 업데이트 완료');
|
|||
|
|
|
|||
|
|
console.log('✅ 대시보드 마이그레이션 완료!');
|
|||
|
|
} catch (error) {
|
|||
|
|
console.error('❌ 대시보드 마이그레이션 실패:', error);
|
|||
|
|
// 이미 컬럼이 있는 경우는 무시
|
|||
|
|
if (error instanceof Error && error.message.includes('already exists')) {
|
|||
|
|
console.log('ℹ️ 컬럼이 이미 존재합니다.');
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|