我有一个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/

10-14 12:00
查看更多