From the daily archives: 水曜日, 8月 10, 2011

この前までmigrationするときは必ずと言っていいほど参考にしていたブログが見れなくなってしまったのでこちらに書いておきます。

■下準備(最初の一度だけやればいいこと)

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

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

  1. スキーマ変更(schema.yml)
    例)
    [plain]Tag:
    options:
    collate: utf8_general_ci
    charset: utf8
    columns:
    tagId: { type: integer(5), primary: true, autoincrement: true}
    keyword: { type: string }
    count: { type: integer }[/plain]
  2. migration用の差分クラスを作成[plain]symfony doctrine:generate-migrations-diff[/plain]
  3. migrateする[plain]symfony doctrine:migrate[/plain]
  4. モデル、フォーム、フィルターの変更[plain]symfony doctrine:build –model –forms –filters[/plain]

これでmigrate完了

ちなみに、project:deployで適用他のサーバーにデータを持っていったときはDBだけ変更すればいいので
[plain]symfony doctrine:migrate[/plain]
だけでOK。
もちろん[plain]symfony cc[/plain]は忘れないように。

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