マイグレーションとは?

耳慣れない人にのために説明すると、マイグレーション(または ‘schema evolution=スキーマ進化’ や ‘mutations=突然変異’ とも呼ばれます)とは、 データベーススキーマを、あるバージョンから別のバージョンへ変更する方法です。 Django 自体では、新しいモデルの追加にしか対応していませんが、Django 以外のほぼ全てのプロジェクトは、 そのほかのモデルの変更処理にも対応しています(モデルに新しいフィールドを追加した場合や、 データベースのカラムに null=True を追加するように変更した場合など)。

South や他の似たようなアプリケーションでは、データベーススキーマを簡単に、 かつ予測どおりに更新するツールを提供することによって、マイグレーションの機能を実現しています。 特定バージョンから次のバージョンに、どのように更新すべきかを South に教えるために、マイグレーションを用意します。 これらのマイグレーションを一続きにすることで、データベーススキーマの履歴を前後に辿ることが可能です。

South では、マイグレーションはデータベースを初めから生成する手段でもあります。 一番初めのマイグレーションは、単純に空のスキーマから最初の状態のテーブルにマイグレートします。 同様に、全マイグレーションを通して実行すると、アプリケーションの最新バージョンのデータベースにすることができます。 また古いバージョンのデータベースがあるならば、単に前回作成されたマイグレーションを実行するだけでいいのです。

チュートリアル を一通りやってみることで、 その充実したいくつかの例から、マイグレーションがどのように動作するのか、 そしてそれがどの位あなたの役に立つものなのかを理解できると思います。

Previous topic

South について

Next topic

インストール

This Page