LoginSignup
58
57

More than 3 years have passed since last update.

【学習メモ】MakemigrationsとMigrateについて

Posted at

概要

モデルをデータベースに反映するためにmigrateを実行しますが、makemigrationsがあるのを知ったので、少しまとめてみます。

MakemigrationsとMigrateの違い

  • migrateはモデルをデータベースに反映させる
  • makemigrationsはマイグレーションファイルを作成する

つまりmigrateをすることで、データベース構成を変更したり、その変更を取り消したりすることが出来るが、データベース構成のバージョン管理をするのに、makemigrationsでマイグレーションファイルを作成する。

  • 公式からは下記のように記載されています。

マイグレーション (Migrations) は、Django でモデルに対して行った変更 (フィールドの追加やモデルの削除など) をデータベーススキーマに反映させる方法です。

マイグレーションというのは、データベーススキーマに対するバージョン管理システムのようなものです。makemigrations はモデルの変更点を1つのマイグレーションファイルにパッケージングし(コミットのようなものです)、migrate はその変更点をデータベースに適用する、というわけです。
引用:https://docs.djangoproject.com/ja/2.2/topics/migrations/

  • 図にすると、わかりやすいですね。

makemigrations_migrate.png

コマンド

実行方法はシンプルで、下記のようになります。

makemigrations

terminal
$ python manage.py makemigrations

migrate

terminal
$ python manage.py migrate

以上

58
57
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
58
57