我有一个Symfony2项目及其自己的数据库,现在我想连接到另一个数据库(另一个项目),以便可以修改一些表。
我在config_dev.yml
中创建了新连接
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_mysql
host: localhost
dbname: database1
user: root
password:
buv:
driver: pdo_mysql
host: localhost
dbname: database2
user: root
password:
我尝试使用以下命令导入架构:
$ php app/console doctrine:mapping:import --em=buv MyBundle yml
但是database2中的某些表没有PK!并且完全导入不起作用。但是我只想导入两个表,所以我尝试了:
$ php app/console doctrine:mapping:import --em=buv --filter="tablename" MyBundle yml
但是我遇到了同样的错误,似乎--filter无法正常工作。
控制台命令
doctrine:mapping:import
中的文档仅说将实体名称放入过滤器选项中。但是我还没有实体。 最佳答案
如果我理解正确,您是否要导入现有数据库?
我要做的是:
php app/console doctrine:mapping:convert xml ./src/App/MyBundle/Resources/config/doctrine/metadata/orm --from-database --force
然后进行选择性转换为注释:
php app/console doctrine:mapping:import AppMyBundle annotation --filter="users_table"
如果要yml,请将注释更改为yml。
警告:导入到批注或yml时,它将删除当前的实体文件。
关于doctrine - 使用原理从Symfony2中的外部数据库导入表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6547319/