diff --git a/backend/src/migrations/1782060613058-CreateInitialSchema.ts b/backend/src/migrations/1782060613058-CreateInitialSchema.ts index 179f891..ccd8627 100644 --- a/backend/src/migrations/1782060613058-CreateInitialSchema.ts +++ b/backend/src/migrations/1782060613058-CreateInitialSchema.ts @@ -4,6 +4,13 @@ export class CreateInitialSchema1782060613058 implements MigrationInterface { name = 'CreateInitialSchema1782060613058'; public async up(queryRunner: QueryRunner): Promise { + // 베이스라인 가드 — 이미 스키마가 존재하는 기존 DB(과거 synchronize 로 생성·데이터 보존)면 + // 초기 마이그레이션을 '베이스라인'으로 간주하고 DDL 을 건너뛴다. 마이그레이션은 '적용됨'으로 + // 기록되어 다음 변경 마이그레이션부터 정상 진행되며, 기존 데이터/스키마는 보존된다. + // (빈 DB 면 이 가드를 통과해 아래 DDL 로 전체 스키마를 생성한다.) + if (await queryRunner.hasTable('users')) { + return; + } // uuid_generate_v4() 기본값에 필요한 확장 — 신규(빈) 운영 DB 에서도 보장 await queryRunner.query(`CREATE EXTENSION IF NOT EXISTS "uuid-ossp"`); await queryRunner.query(