본문 바로가기
C.W.K.
Stream
Lesson 05 of 10 · published

로컬·스테이징·운영 환경 맞추기

~12 min · apps, environments

Level 0스키마 새싹
0 XP0/86 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

데이터는 달라도 스키마는 같아야 해

환경마다 연결 주소, 자격 증명, 데이터와 자원 크기가 달라. 개발 환경은 백업이 없어도 되지만 스테이징은 시간 단위, 운영은 연속 백업이 필요하고, SSL은 로컬에서 끌 수 있어도 스테이징과 운영에서는 반드시 켜야 해. 하지만 마이그레이션 결과, PostgreSQL 주요 버전, 확장 기능 집합은 맞아야 해.

배포할 데이터베이스로 개발해

로컬에서는 SQLite, 운영에서는 PostgreSQL을 쓰면 자료형·NULL·JSON·동시성 차이가 뒤늦게 드러나. 같은 PostgreSQL 계열에서 시험해.

차이는 설정으로만 표현해

DATABASE_URL 같은 환경 설정을 바꾸고 앱 코드는 동일하게 유지해. 스키마 이력을 비교해 환경 사이의 불일치를 찾아.

환경은 로컬·스테이징·운영의 3개로 나누는 경우가 많아. 로컬 1GB, 스테이징 4GB처럼 자원 크기는 달라도 스키마와 버전은 같아야 해.

Code

환경별 설정·bash
# .env.local
DATABASE_URL=postgresql://app:dev@localhost:5432/myapp_dev

# .env.staging (CI / 호스팅 플랫폼)
DATABASE_URL=postgresql://app:****@staging-db.example.com/myapp?sslmode=require

# .env.production
DATABASE_URL=postgresql://app:****@prod-db.example.com/myapp?sslmode=require
로컬 PostgreSQL 실행하기·bash
# Native install (선호 — docker 오버헤드 없음)
brew install postgresql@17
brew services start postgresql@17
createdb myapp_dev

# 또는 클라우드 무료 티어로:
# Supabase, Neon, Railway, Render — 다 free Postgres 있음

External links

Exercise

프로젝트의 로컬, 스테이징, 운영 환경이 같은 PostgreSQL 주 버전과 확장 기능 집합, 마이그레이션 이력을 사용하는지 점검해. 차이를 모두 나열하고 맞추는 계획을 세워.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.