カテゴリ: Django 更新日: 2026/02/02

Djangoマイグレーションの履歴管理|showmigrationsの使い方を初心者向けに完全解説

Djangoマイグレーションの履歴管理|showmigrations の使い方
Djangoマイグレーションの履歴管理|showmigrations の使い方

先生と生徒の会話形式で理解しよう

生徒

「Djangoでデータベースを触っていたら、マイグレーションって言葉が出てきて混乱しました。履歴って何ですか?」

先生

「マイグレーションは、データベースの設計変更の記録です。Djangoではその履歴を一覧で確認できます。」

生徒

「その履歴はどうやって確認するんですか?」

先生

「showmigrationsというコマンドを使うと、どこまで反映されたか一目で分かります。」

1. Djangoマイグレーションとは何か

1. Djangoマイグレーションとは何か
1. Djangoマイグレーションとは何か

Djangoマイグレーションとは、データベースの設計図を変更した履歴を管理する仕組みです。データベースとは、たくさんの情報を表形式で整理して保存する箱のような存在です。Djangoでは、モデルというPythonのクラスを使って、この箱の形を決めます。

設計図を変更するたびに、その変更内容をファイルとして保存するのがマイグレーションです。これにより、いつ、どんな変更をしたのかが分かるようになります。

2. マイグレーション履歴管理の重要性

2. マイグレーション履歴管理の重要性
2. マイグレーション履歴管理の重要性

履歴管理とは、変更の記録を残すことです。ノートに日付と内容を書いていくイメージです。Djangoでは、マイグレーション履歴を管理することで、データベースが正しい状態かどうかを確認できます。

もし履歴が分からないと、どこまで作業が進んでいるのか分からず、トラブルの原因になります。

3. showmigrationsコマンドの基本

3. showmigrationsコマンドの基本
3. showmigrationsコマンドの基本

showmigrationsは、マイグレーションの履歴一覧を表示するコマンドです。黒い画面で文字を入力するだけで使えます。


python manage.py showmigrations

このコマンドを実行すると、アプリごとにマイグレーションファイルが表示され、実行済みかどうかが分かります。

4. 実行結果の見方をやさしく解説

4. 実行結果の見方をやさしく解説
4. 実行結果の見方をやさしく解説

表示結果には、チェックマークのような記号が付きます。これは「すでにデータベースに反映されている」という意味です。


admin
 [X] 0001_initial
 [X] 0002_logentry_remove_auto_add

このように表示された場合、adminアプリのマイグレーションはすべて適用済みだと分かります。

5. アプリを指定して確認する方法

5. アプリを指定して確認する方法
5. アプリを指定して確認する方法

特定のアプリだけを確認したい場合もあります。そのときは、アプリ名を指定します。


python manage.py showmigrations blog

これにより、blogアプリだけの履歴が表示され、確認作業がとても楽になります。

6. 未適用マイグレーションの見つけ方

6. 未適用マイグレーションの見つけ方
6. 未適用マイグレーションの見つけ方

チェックが付いていない行は、まだデータベースに反映されていない変更です。これは、設計図は作ったけれど、まだ箱に反映していない状態です。


blog
 [ ] 0003_add_title_field

この状態を見つけたら、migrateコマンドで反映する必要があります。

7. なぜ初心者にshowmigrationsが大切なのか

7. なぜ初心者にshowmigrationsが大切なのか
7. なぜ初心者にshowmigrationsが大切なのか

初心者は、今どこで何をしているのか分からなくなりがちです。showmigrationsを使えば、データベースの状態を目で確認できます。

これは、地図を見ながら道を歩くようなものです。迷わず安心して作業ができます。

8. マイグレーション履歴とDB設計の関係

8. マイグレーション履歴とDB設計の関係
8. マイグレーション履歴とDB設計の関係

DB設計とは、データの形を考えることです。Djangoでは、その設計変更がすべてマイグレーション履歴として残ります。

showmigrationsを確認することで、設計の変化を振り返ることができ、安心して開発を進められます。

カテゴリの一覧へ
新着記事
New1
Django
Djangoバリデーション完全入門|cleanメソッドで学ぶカスタムチェックの書き方【初心者向け】
New2
Flask
FlaskとAWS S3を連携!静的ファイルを効率よく配信する初心者向け完全ガイド
New3
Python
Pythonで例外の種類ごとに処理を分ける方法を完全解説!初心者でもわかる複数except入門
New4
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flask-Loginでユーザー認証を完全ガイド!初心者でもわかるログイン処理の作り方
No.4
Java&Spring記事人気No4
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.5
Java&Spring記事人気No5
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.6
Java&Spring記事人気No6
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.7
Java&Spring記事人気No7
Flask
Flaskでフロントエンドからファイルアップロードを行う基本手順【初心者向け】
No.8
Java&Spring記事人気No8
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方