데이터는 달라도 스키마는 같아야 해
환경마다 연결 주소, 자격 증명, 데이터와 자원 크기가 달라. 개발 환경은 백업이 없어도 되지만 스테이징은 시간 단위, 운영은 연속 백업이 필요하고, SSL은 로컬에서 끌 수 있어도 스테이징과 운영에서는 반드시 켜야 해. 하지만 마이그레이션 결과, PostgreSQL 주요 버전, 확장 기능 집합은 맞아야 해.
배포할 데이터베이스로 개발해
로컬에서는 SQLite, 운영에서는 PostgreSQL을 쓰면 자료형·NULL·JSON·동시성 차이가 뒤늦게 드러나. 같은 PostgreSQL 계열에서 시험해.
차이는 설정으로만 표현해
DATABASE_URL 같은 환경 설정을 바꾸고 앱 코드는 동일하게 유지해. 스키마 이력을 비교해 환경 사이의 불일치를 찾아.
환경은 로컬·스테이징·운영의 3개로 나누는 경우가 많아. 로컬 1GB, 스테이징 4GB처럼 자원 크기는 달라도 스키마와 버전은 같아야 해.