5

開発中、Doctrineのschema:updateコマンドを頻繁に実行して、変更するエンティティ定義にデータベーススキーマを同期させます。機能をコミットする準備ができたら、すべての変更をmigration classにロールアップしてgitにコミットできます。Doctrine2でスキーマの変更を管理するためのワークフロー

問題は、実行するためにmigrations:diffschema:updateと混乱を開始する前に、データベーススキーマをその状態にロールバックする必要があるということです。 schema:dropを実行すると、migrations:migrateはスキップしてもmigration_versionsテーブルが削除されないため、問題ありません。つまり、既存の移行を実行して新しい移行を作成する前に、すべてのデータベースを手動で削除する必要があります。

それは動作しますが、私は間違っているように感じています。どんな良いアイデアですか?

+0

私は同じことを見つけようとしています。あなたがDoctrine2でスキーマ変更を管理するためのワークフローを作成したのかどうか疑問に思っていますか? – Marcel

答えて

0

質問に対する100%正解はわかりませんが、1つのオプションがあります。毎回schema:update --forceを実行し、最初にdump SQLをschema:update --dump-sqlと実行して保存する必要があります。その後、ベースをロールバックする必要はありません

+0

これを見ている人にとっては、 'schema:update --force --dump-sql'を使って更新を実行し、一度にSQLを与えることができます。 – dkisselev

関連する問題