作成したモデルをマイグレーションしてDBに反映
Djangoにおけるマイグレーションはデータベースのテーブルやインデックスなどを変更することを指す。
models.pyで作成したモデルをデータベースに反映したり、既にあるモデルを変更した場合のデータベースへの反映を行う。
前回はmodels.pyでモデルを作成したので、この記事ではモデルをマイグレーションする手順についてまとめる。
現在のディレクトリ構成は以下の通り。
■ディレクトリ構成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
デスクトップ └Blog ├Blog_app │ ├migrations │ ├__init__.py │ ├adming.py │ ├apps.py │ ├models.py │ ├tests.py │ ├views.py │ ├urls.py │ ├templates │ └Blog_templates ├db.sqlite3 ├config │ ├・・・ │ └urls.py ├env_blog └manage.py |
前回:【Django】models.pyでモデル(DBのテーブル)を作成する
マイグレーションの手順
マイグレーションファイルの作成
ルートディレクトリ(Blogディレクトリであり、manage.pyがあるディレクトリ)で、以下のコマンドを実行する。
~デスクトップ/Blog/
1 |
python manage.py makemigrations |
このコマンドにより、モデルの変更を検知し、データベースに変更を適用するためのマイグレーションファイルを作成する。
Blog/Blog_app/migrationsディレクトリにマイグレーションファイルが作成される。
マイグレーションの適用
~デスクトップ/Blog/
1 2 3 4 5 6 7 |
python manage.py migrate #Operations to perform: #Apply all migrations: admin, auth, contenttypes, sessoins #Running migrations: #Applying ・・・OK #Applying ・・・OK #Applying ・・・OK |
このコマンドにより、先ほど作成されたマイグレーションファイルがデータベースに適用され、テーブルの作成や変更が行われる。
何行にもわたってメッセージが表示されるが、OKが表示されていれば適用ができている。
現在のディレクトリ構成は以下の通り。(変更なし)
■ディレクトリ構成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
デスクトップ └Blog ├Blog_app │ ├migrations │ ├__init__.py │ ├adming.py │ ├apps.py │ ├models.py │ ├tests.py │ ├views.py │ ├urls.py │ ├templates │ └Blog_templates ├db.sqlite3 ├config │ ├・・・ │ └urls.py ├env_blog └manage.py |
Django記事一覧
前回:【Django】models.pyでモデル(DBのテーブル)を作成する
次回:【Django】ブログのトップページを作成(htmlファイルを表示させる)
コメント