1. migration
python manage.py runserver
장고 앱을 구동시켰을 때 아래와 같은 문구가 보인다.
위의 내용을 보면 18개의 적용되지 않은 migration들이 있다는 말이다. admin, auth, contenttypes, sessions 앱들과 관련된 내용이고 이것을 적용하려면 python manage.py migrate 를 실행해야 한다고 나와 있다. admin, auth, contenttypes, sessions 앱들은 장고 프로젝트 생성시 기본적으로 설치되는 앱들이다.
1) INSTALLED_APPS
설치된 앱들은 config/settings.py 파일에서 확인할 수 있다. 데이터베이스가 필요한 앱만 migrate가 필요하다.
2) DATABASES
config/settings.py 파일을 잘 살펴보면 설치된 앱 뿐만 아니라 사용하는 데이터베이스에 대한 정보도 다음과 같이 정의되어 있다. BASE_DIR은 프로젝트 디렉터리를 의미한다.
2. DB Browser for SQLite 사용하기
1) migrate로 테이블 생성하기
SQLite는 주로 개발용이나 소규모 프로젝트에서 사용되는 가벼운 파일 기반의 데이터베이스이다. 개발시에는 SQLite를 사용하여 빠르게 개발하고 실제 운영시스템은 좀 더 규모있는 DB를 사용하는 것이 일반적인 개발 패턴이다.
python manage.py migrate
명령을 실행하여 해당 앱들이 필요로 하는 데이터베이스 테이블들을 생성한다.
migrate를 수행하면 admin, auth, contenttypes, sessions 앱들이 사용하는 테이블들이 생성된다. 어떤 테이블들이 생성되는지 알 필요는 없다. 위의 앱들을 사용하더라도 테이블을 직접 건드릴 일은 없기 때문이다.
2) DB Browser for SQLite
Downloads - DB Browser for SQLite
위의 사이트를 들어가서 SQLite의 GUI 도구인 "DB Browser for SQLite"를 설치하면 데이터베이스의 테이블들을 확인할 수 있다.
사이트에 들어가면 나의 경우 윈도우 64bit이므로 세번째 경우를 선택하여 설치해주었다.
데이터베이스 열기 > C:\mysite\projects\db.sqlite3 파일 선택을 선택하면 생성된 테이블을 확인할 수 있다.
장고의 장점 중 하나는 테이블 작업을 위해 직접 쿼리문을 수행하지 않아도 된다는 점이다. 장고의 ORM(Object Relational Mapping)을 사용하면 쿼리문을 몰라도 데이터 작업을 쉽게 할 수 있다.