この前までmigrationするときは必ずと言っていいほど参考にしていたブログが見れなくなってしまったのでこちらに書いておきます。 ■下準備(最初の一度だけやればいいこと)
- スキーマを書く(schema.yml) 例)
Tag:
options:
collate: utf8_general_ci
charset: utf8
columns:
tagId: { type: integer(5), primary: true, autoincrement: true}
keyword: { type: string }
- モデル作成
symfony doctrine:build --all
- migration用のモデル作成
symfony doctrine:generate-migrations-models
- DBのつくりなおし
symfony doctrine:drop-db symfony doctrine:build-db
- 最初のmigrate
symfony doctrine:migrate
■DBを変更時毎回やること
- スキーマ変更(schema.yml) 例)
Tag: options: collate: utf8_general_ci charset: utf8 columns: tagId: { type: integer(5), primary: true, autoincrement: true} keyword: { type: string } count: { type: integer }
- migration用の差分クラスを作成
symfony doctrine:generate-migrations-diff
- migrateする
symfony doctrine:migrate
モデル、フォーム、フィルターの変更
symfony doctrine:build --model --forms --filters
これでmigrate完了 ちなみに、project:deployで適用他のサーバーにデータを持っていったときはDBだけ変更すればいいので
symfony doctrine:migrate
だけでOK。 もちろん
symfony cc
は忘れないように。 ちなみに見れなくなってしまったブログはこちら Symfonyのmigrate機能|IからOへ いつか見れるようになおってるといいな