Help us understand the problem. What is going on with this article?

Symfony4のdoctrineでmake:migrationしても変更を検知しない場合

More than 1 year has passed since last update.

はじめに

symfony4.4のdoctrineの説明をみながらマイグレーションを操作した。

Migrations & Adding more Fieldsで追加したdescriptionカラムの変更を、doctrineは検知をせず、以下のように無情な回答。

php bin/console make:migration

 [WARNING] No database changes were detected.

操作した内容をどこかに記録していると予想していたけど、調査したら、var配下のCacheに保存をしている模様。

以下のようにキャッシュをクリアしたら。。。

php bin/console doctrine:cache:clear-metadata

 // Clearing all Metadata cache entries


 [OK] Successfully deleted cache entries.

正常にマイグレーション用のファイルを作成しました!!

php bin/console make:migration

  Success! 

 Next: Review the new migration "src/Migrations/Version20191123063407.php"
 Then: Run the migration with php bin/console doctrine:migrations:migrate
 See https://symfony.com/doc/current/bundles/DoctrineMigrationsBundle/index.html

おまけ

参考文献にある、以下のコマンドを実行したら、強制的にDBにカラムが追加をされていました。

php bin/console doctrine:schema:update --force

 Updating database schema...

     1 query was executed

こちらはEntityからSQLを作成して、即実行をするコマンドでした。

php bin/console doctrine:schema:update --help 
・・・
  Alternatively, you can execute the generated queries:
  doctrine:schema:update --force

参考文献

idani
井谷(いだに)と申します。 前職では、cakePHPとjQueryとVue.jsを使って、メール配信、SMS配信、セミナー募集システム、かんたんな決済処理、アフィリエイトシステムなどを開発していました。 使える言語は、C、C++、Perl、C#、PHP、JSになります。 昔々、Gentoo Linuxの翻訳作業をしていました。
https://hirotae.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away