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 }
  1. モデル作成
 symfony doctrine:build --all
  1. migration用のモデル作成
symfony doctrine:generate-migrations-models
  1. DBのつくりなおし
symfony doctrine:drop-db symfony doctrine:build-db
  1. 最初のmigrate
symfony doctrine:migrate

■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 }
  1. migration用の差分クラスを作成
symfony doctrine:generate-migrations-diff
  1. migrateする
symfony doctrine:migrate

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

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

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

symfony doctrine:migrate

だけでOK。 もちろん

symfony cc

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

img_show