我有一个连接到多个数据库的 Symfony 项目。但是,我只有其中之一的 ALTER 访问权限。
目前,为了使我的 Doctrine 实体与数据库保持同步,我必须执行doctrine:schema:update --dump-sql
,然后对我的实体执行相反的操作。
例如如果doctrine:schema:update --dump-sql
给了我
ALTER 表名 DROP 列名
我转到 TableName 实体并添加一个 columnName 属性。
doctrine:schema:import
似乎只在第一次起作用。即使删除所有 .xml 文件后
还有什么我可以做/用来保持同步而不是手动的吗?
最佳答案
尝试使用此 Doctrine 工具通过逆向工程从数据库中创建实体:
首先,您需要使用以下方法创建 XML 元数据文件:
php bin/console doctrine:mapping:import --force AcmeBlogBundle xml
然后,使用它从 XML 文件创建实体:
php bin/console doctrine:mapping:convert annotation ./src
php bin/console doctrine:generate:entities AcmeBlogBundle
http://symfony.com/doc/current/doctrine/reverse_engineering.html
关于php - 使用外部 SQL 数据库使 Doctrine 实体保持最新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43930388/