Symfonyでmigrationのやり方

2011/8/10 symfony

この前までmigrationするときは必ずと言っていいほど参考にしていたブログが見れなくなってしまったのでこちらに書いておきます。 ■下準備(最初の一度だけやればいいこと)

  1. スキーマを書く(schema.yml) 例)
Tag: options: collate: utf8_general_ci charset: utf8 columns: tagId: { type: integer(5), primary: true, autoincrement: true} keyword: { type: string }
yaml
  1. モデル作成
symfony doctrine:build --all
bash
  1. migration用のモデル作成
symfony doctrine:generate-migrations-models
text
  1. DBのつくりなおし
symfony doctrine:drop-db symfony doctrine:build-db
text
  1. 最初のmigrate
symfony doctrine:migrate
text

■DBを変更時毎回やること

  1. スキーマ変更(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 }
text
  1. migration用の差分クラスを作成
symfony doctrine:generate-migrations-diff
text
  1. migrateする
symfony doctrine:migrate
text

モデル、フォーム、フィルターの変更

symfony doctrine:build --model --forms --filters
text

これでmigrate完了 ちなみに、project:deployで適用他のサーバーにデータを持っていったときはDBだけ変更すればいいので

symfony doctrine:migrate
text

だけでOK。 もちろん

symfony cc
text

は忘れないように。 ちなみに見れなくなってしまったブログはこちら Symfonyのmigrate機能|IからOへ いつか見れるようになおってるといいな

img_show