はじめに
Djangoでマイグレーションファイルを作成し、実行するまでを調べ、実施したので 備忘録としてまとめました。
開発環境
macOSで実行しています。他環境の場合は適宜読み替えてください。
※事前にアプリケーションを作成してあることが前提です
※フォルダやファイルの構造については割愛します
ここでは作成するアプリケーション名をtestapp
とします。
マイグレーションファイルの作成
testapp/model.py
でモデルを作成
testapp
にuser
モデルを追加する、という例で進める場合、testapp/model.py
に以下のように記述します。
import uuid # uuid(世界で重複する確率が極めて低いID)利用のための記述 from django.db import models class User(models.Model): class Meta: db_table = 'user' # 名前指定用 デフォルトだと英語表記のため、日本語表記で設定するために記述 verbose_name = verbose_name_plural = 'ユーザー' id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) name = models.CharField(verbose_name='氏名', max_length=20) created_at = models.DateTimeField(verbose_name='登録日時', auto_now_add=True) def __str__(self): return self.name # nameカラムの値を返す
上記例では、User
モデルで追加するカラムはid
,name
,created_at
としています。
マイグレーションファイルの作成
ターミナルで以下のコマンドを実行し、マイグレーションファイルを作成します。
※testapp
のディレクトリの中で実行します。
$ python manage.py makemigrations testapp
testapp/migrations
の中に新しいマイグレーションファイルが作成されます。
マイグレーションの実行
ターミナルで以下のコマンドを実行し、マイグレーションを実行します。
$ python manage.py migrate
User
モデルが追加されました。
*もし誤りなどあればコメントにてご指摘お願いします! *