php - PHP 中使用 Doctrine 进行跨数据库连接

标签 php symfony doctrine-orm doctrine multiple-databases

我在他们的博客上阅读了 Doctrine 中的跨数据库连接: http://www.doctrine-project.org/blog/cross-database-joins.html 问题是,只要表名包含点(用于指定数据库),doctrine:schema:update 就会输出Nothing to update - 您的数据库已经与当前实体元数据同步。 该命令基本上只是忽略表名包含点的实体。

最佳答案

这是正常现象,是 ORM/DBAL 的限制。

Doctrine\ORM\Tools\SchemaTool使用schema manager retrieved from your current connection .

Doctrine\DBAL\Schema\AbstractSchemaManager 读取表 from the current connection's db ,并非来自所有数据库。

因此,您必须手动处理放置在不同数据库中的表,或者使用您自己的模式管理器和您自己的 listTables 实现。

关于php - PHP 中使用 Doctrine 进行跨数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389692/

相关文章:

php - Doctrine :创建实体后不保留日期时区

PHP:迭代 SQL Return 的最佳方法

php - 如何将 url 更改为子文件夹

symfony - 当用户不提供值时表单将其清空

xml - Symfony Twig 和 xml - 文档为空错误

php - 添加附加查询时,Doctrine MongoDB geoNear() 实例设置为 0

sql - Symfony 2 : Generate SQL from specific entity

sql - 按用户名分组并选择列的总和

php - 您如何在 CodeIgniter 中组织模板结构?

php - Illuminate\Database\Eloquent\Builder 类的对象无法转换为字符串