이미 스키마가 존재하는 DB(과거 synchronize 로 생성·데이터 보존)에 배포해도
부팅이 실패하지 않도록, up() 진입 시 핵심 테이블(users) 존재를 확인해 DDL 을
건너뛰고 마이그레이션을 '적용됨'으로만 기록한다(데이터/스키마 보존). 빈 DB 는
기존대로 전체 스키마를 생성한다.
검증: 빈 DB 전체 생성 / 스키마 존재 DB(이력 없음) 건너뛰고 기록·데이터 보존 /
재실행 멱등(No migrations pending) 모두 확인.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
운영(synchronize 비활성, migrationsRun 활성)에서 스키마를 구성할 마이그레이션이
전무해 신규 운영 DB 배포 시 테이블이 생성되지 않던 문제를 해결한다.
- data-source.ts(CLI 전용 DataSource) + package.json 마이그레이션 스크립트
(typeorm/migration:generate/create/run/revert) 추가
- 초기 마이그레이션(CreateInitialSchema) 생성 — 전체 스키마(users·projects·
project_members·tasks·task_assignees·checklist_items·comments·attachments·
activities·notifications·refresh_sessions·ai_conversations·ai_messages,
인덱스·FK 포함), uuid-ossp 확장 생성 보장
- 임시 빈 DB에 up/down 적용 검증, 현재 dev 스키마와 드리프트 없음(No changes) 확인
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>