- deploy/ 폴더: docker-compose.synology.yml, deploy.sh, package.sh - NAS 배포 패키지 생성/전송/설치 자동화 스크립트 - 삭제 로그 테이블 마이그레이션 (018_add_deletion_log_table.sql) - 사진 필드 마이그레이션 유틸리티 (migrate_add_photo_fields.py) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
"""
|
|
데이터베이스 마이그레이션: 사진 필드 추가
|
|
- 신고 사진 3, 4, 5 추가
|
|
- 완료 사진 2, 3, 4, 5 추가
|
|
"""
|
|
from sqlalchemy import create_engine, text
|
|
import os
|
|
|
|
# 데이터베이스 URL
|
|
DATABASE_URL = os.getenv("DATABASE_URL", "postgresql://postgres:postgres@db:5432/issue_tracker")
|
|
|
|
def run_migration():
|
|
engine = create_engine(DATABASE_URL)
|
|
|
|
with engine.connect() as conn:
|
|
print("마이그레이션 시작...")
|
|
|
|
try:
|
|
# 신고 사진 필드 추가
|
|
print("신고 사진 필드 추가 중...")
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS photo_path3 VARCHAR"))
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS photo_path4 VARCHAR"))
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS photo_path5 VARCHAR"))
|
|
|
|
# 완료 사진 필드 추가
|
|
print("완료 사진 필드 추가 중...")
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS completion_photo_path2 VARCHAR(500)"))
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS completion_photo_path3 VARCHAR(500)"))
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS completion_photo_path4 VARCHAR(500)"))
|
|
conn.execute(text("ALTER TABLE issues ADD COLUMN IF NOT EXISTS completion_photo_path5 VARCHAR(500)"))
|
|
|
|
conn.commit()
|
|
print("✅ 마이그레이션 완료!")
|
|
|
|
except Exception as e:
|
|
conn.rollback()
|
|
print(f"❌ 마이그레이션 실패: {e}")
|
|
raise
|
|
|
|
if __name__ == "__main__":
|
|
run_migration()
|