티스토리 뷰
[1] 장고의 기본 DB 설정
아래 명령어로 장고 프로젝트를 만들면
django-admin startproject sample_api
이렇게 파일이 구성됩니다.
settings.py에 들어가보면
장고는 기본 DB로 sqlite를 쓰는 것을 알 수 있습니다.
SQLite는 주로 소규모 프로젝트에서 사용되는 파일기반의 가벼운 데이터베이스 입니다.
보통 초기 개발 단계에서 SQLite를 사용하여 빠르게 개발하고
서비스로 제공할 때 운영환경에 어울리는 데이터베이스로 바꾼다고 합니다.
대규모 서비스에는 오라클 /
소규모 서비스는 PostgreSQL, MySQL 등의 데이터베이스를 많이 사용합니다.
그리고 데이터베이스를 여러 개 사용할 때
default에 지정한 데이터베이스 외에도 추가로 등록해서 사용할 수 있다고 합니다.
[2] sqlite 파일이 만들어지는 시점
근데 NAME 필드를 보면
데이터베이스 이름으로 BASE_DIR (프로젝트 디렉토리)에 있는 db.sqlite3 파일을 가리키고 있는데,
현재 프로젝트 구성파일들을 보면 해당 파일이 없습니다.
아래 명령어로 runserver를 해보면
python manage.py runserver
장고의 기본 앱(admin, auth 등)에 대한 마이그레이션이 적용안되어있다고 나옵니다..!!
migrate 명령을 통해 기본 앱들이 사용하는 테이블들을 생성해줘야합니다.
migrate 명령을 하면
python manage.py migrate
이제서야 db.sqlite3 파일이 생겼네요..!!
흠...
테이블이 하나도 없는 디비는 의미가 없으니
테이블이 처음 생성되는 시점에 같이 디비 파일을 생성하는건가..? 잘모르겠네요
[3] sqlite 파일 열어보기
sqlite 파일을 열어보려면 브라우저 프로그램이 있어야합니다.
sqlitebrowser.org/dl/ 여기서 브라우저를 다운받아줄게요!
브라우저에 sqlite 파일을 끌어와주면 됩니다.
[4] Heroku 배포했을 때 기본 DB 설정
Heroku로 장고 API 배포하기 를 했을때
dj_database_url 이라는 패키지를 설치하라고 요구하고
아래와 같이 DB쪽 세팅을 해줬는데요...!
기본 DB 세팅은 sqlite3로 되어있지만
dj_database_url을 통해서 heroku에서 사용하는 postgresSQL로 설정을 바꿔주는 것입니다.
문서의 Provistion a database 쪽을 보면
database url은 이런 값이라고 합니다.
postgres://qayojflkqzwdlk:c9b49b89f95625e0c1ed225aed3871a888ab41ca53d6d16078fe5f6416f8a402@ec2-23-23-80-20.compute-1.amazonaws.com:5432/dbr6s55rtq1vqg
그리고 DB는 기본적으로 postgreSQL로 add on 되어있는데
add-on marketplace 에 Redis, MongoDB, MySQL등의 DB가 있으니 그것을 add on하게 바꿀 수 도 있다고 합니다.
[ Reference ]
- 점프 투 장고
'🐍 > Django' 카테고리의 다른 글
[Django] 쿼리문 (create, update, delete) (0) | 2021.03.19 |
---|---|
[Django] 사용자에게 비밀번호 재설정 메일 보내기 (send password reset link) (3) | 2021.03.01 |
[Heroku] Scheduler를 이용해서 반복 작업 돌리기 (0) | 2020.11.02 |
[Django] Custom Management Command 만들기 (0) | 2020.10.27 |
[Django] FCM 서버를 통해 앱에 푸쉬보내기 (6) | 2020.10.24 |
- Total
- Today
- Yesterday
- 장고 Custom Management Command
- cocoapod
- Flutter Clipboard
- Dart Factory
- ribs
- Flutter getter setter
- DRF APIException
- 장고 URL querystring
- Django Heroku Scheduler
- flutter deep link
- flutter build mode
- Flutter Spacer
- Django FCM
- PencilKit
- Flutter 로딩
- Flutter Text Gradient
- 플러터 얼럿
- drf custom error
- ipad multitasking
- Python Type Hint
- SerializerMethodField
- METAL
- Sketch 누끼
- github actions
- Watch App for iOS App vs Watch App
- 플러터 싱글톤
- 구글 Geocoding API
- Django Firebase Cloud Messaging
- flutter 앱 출시
- flutter dynamic link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |