Symfonyでmigrationのやり方

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

  1. スキーマを書く(schema.yml) 例)

    1
    Tag: options: collate: utf8_general_ci charset: utf8 columns: tagId: { type: integer(5), primary: true, autoincrement: true} keyword: { type: string }
  2. モデル作成

    1
    symfony doctrine:build --all
  3. migration用のモデル作成

    1
    symfony doctrine:generate-migrations-models
  4. DBのつくりなおし

    1
    symfony doctrine:drop-db symfony doctrine:build-db
  5. 最初のmigrate

    1
    symfony doctrine:migrate

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

  1. スキーマ変更(schema.yml) 例)

    1
    Tag: options: collate: utf8_general_ci charset: utf8 columns: tagId: { type: integer(5), primary: true, autoincrement: true} keyword: { type: string } count: { type: integer }
  2. migration用の差分クラスを作成

    1
    symfony doctrine:generate-migrations-diff
  3. migrateする

    1
    symfony doctrine:migrate

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

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

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

1
symfony doctrine:migrate

だけでOK。 もちろん

1
symfony cc

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