php – Symfony2:数据库模式和实体未使用更改的元数据进行更新
我在Symfony2中更新架构时遇到问题.
我使用doctrine将数据库导入Symfony2,并在YML中创建了所有ORM文件. 我已经从这个元数据中创建了所有实体并且它工作得很好,但是如果我想使用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.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |