[英]Symfony2: Database schema and entities not updating with changed metadata
我無法在Symfony2中更新架構。
我已經使用理論將數據庫導入到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,並且相同的查詢顯示需要完成。 我遷移; 它說查詢已完成,當我再次使用它時,將顯示相同的查詢。
有人知道這是怎么回事嗎? 我對此感到困惑,因此不勝感激。
按照上面的@Tomasz ,確保您的Symfony2不會嘗試使用批注而不是yaml來設置數據庫。
我有同樣的問題。
原因是-新創建的捆綁包尚未添加到app\\config.yml
。
因此,這個新捆綁包中的所有實體從未與php app/console doctrine:schema:update --dump-sql
一起導出php app/console doctrine:schema:update --dump-sql
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.