Symfony2 でスキーマを更新できません。
doctrine を使用してデータベースを Symfony2 にインポートし、YML ですべての ORM ファイルを作成しました。
このメタデータからすべてのエンティティを作成しましたが、うまく機能しましたが、orm.yml ファイルを使用してデータベース スキーマを変更したい場合、データベースが更新されず、エンティティを再生成しても更新されません。
インポートにより、/src/{name}/{my}bundle/Resources/config/doctrine/metadata/orm/{table}.orm.yml に orm.yml ファイルが作成されました
エラーなしで作成されました。
私がする時:
php app/console doctrine:schema:update --dump-sql
次のように表示されます。
ALTER TABLE accounttypes CHANGE description description VARCHAR(45) NOT NULL
だから私:
php app/console doctrine:schema:update --force
と:
Updating database schema...
Database schema updated successfully! "1" queries were executed
これを何度も行うことができ、同じクエリが表示されて実行すると、完了したことが示されますが、もう一度実行する必要があることが示されます。
次に、orm.yml ファイルに移動して大幅に変更しましたが、これを行うときに常に存在するもの以外に新しいクエリは表示されません。
ファイル AccountTypes.orm.yml
Accounttypes:
type: entity
table: accounttypes
fields:
description:
id: true
type: string
length: 45
fixed: false
nullable: false
generator:
strategy: IDENTITY
lifecycleCallbacks: { }
これに変更します。
Accounttypes:
type: entity
table: accounttypes
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
description:
id: true
type: string
length: 50
lifecycleCallbacks: { }
そして、それはまだ私がする必要があることを教えてくれます:
ALTER TABLE accounttypes CHANGE description description VARCHAR(45) NOT NULL
DoctrineMigrationsBundle も使用してみましたが、同じクエリが表示され、実行が必要です。私は移住します。クエリが完了したと表示され、再度使用すると同じクエリが表示されます。
これがどのように起こっているのか誰にも分かりますか?私はこれで立ち往生しているので、どんな助けも大歓迎です。