この記事では、DoctrineMigrationsBundleのセットアップ手順と、マイグレーションの作成・適用手順についてまとめてみました。
Symfonyは、デフォルトではマイグレーション機構が含まれていません。
また、doctrine:schema:update --force
コマンドを使ってデータベースにスキーマを反映することができますが、デフォルトではProduction環境で利用できないためマイグレーションを導入したほうが無難です。
Symfonyでマイグレーションを実装するには、DoctrineMigrationsBundle (Github: doctrine/DoctrineMigrationsBundle)を導入します。
インストールと設定
composerでパッケージを追加
$ composer require doctrine/doctrine-migrations-bundle "^1.0"
Bundleの読み込みを追加
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
//...
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
);
}