T.I.L June 13, 2023 (DB 개발/배포 환경에 따라 자동 설정)

2023. 6. 13. 22:42T.I.L (Today_I_Learned)

프로젝트 환경


  • DRF(Django Rest Framework)
  • sqlite3
  • MYSQL
  • .env

 

 

코드


DATABASES = {
    'dev': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    },
    'production': {
        'NAME': os.environ.get('MYSQL_NAME'),
        'ENGINE': 'django.db.backends.mysql',
        'USER': os.environ.get('MYSQL_USER'),
        'HOST': os.environ.get('MYSQL_HOST'),
        'PASSWORD': os.environ.get('MYSQL_PASSWORD'),
        'PORT': os.environ.get('MYSQL_PORT')
    },
}

DATABASES['default'] = DATABASES['dev' if DEBUG else 'production']

 

 

알게된 것


이번 프로젝트를 진행하면서 팀원 분들에게 많은 것을 배우고 있습니다.

그 중 하나가 오늘 글의 주제인데요.

이전에 배포를 할 때 DB를 일일히 바꿔줘야 한데 비해 위의 코드로 진행을 하게 될 경우 

개발/배포 두 환경에 맞춰서 자동으로 사용하는 DB가 바뀌기에 굉장히 개발자 스러운 발상이 아닌가 싶었습니다.