Symfony 2和具有config.yml设置的多个数据库

时间:2014-11-11 14:28:36

标签: doctrine-orm schema symfony-2.3 multiple-databases

我在Symfony 2.3中有一个问题,我需要生成模式并更新它,访问2个不同数据库中的表。两者都在MySQL中。 How to Work with multiple Entity Managers and Connections并不能解决这个问题,即使是在一些文章中也是如此。

错误:

[RuntimeException的]
  Bundle“XyzBundle”不包含任何映射实体。

命令:

  • doctrine:生成实体XyzBundle --no-backup
  • doctrine:schema:update --force --em = payment

#/应用/配置/ config.yml

doctrine:
  #... connections (default, payment, etc.)
  orm:
    default_entity_manager: default
    auto_generate_proxy_classes: "%kernel.debug%"
    entity_managers:
        default:
            connection: default
            mappings:
                MyBundle: ~           
        payment:
            connection: payment
            mappings:
                ZkPaymentBundle: ~

1 个答案:

答案 0 :(得分:0)

首先,我发现了这些优秀的文章,其中提到了许多配置形式。

Doctrine ORM

Install Gedmo Doctrine2 extensions in Symfony2

即使捆绑包不在'vendor /'目录中,也必须假设它是外部的。

#/应用/配置/ config.yml

        payment:
            connection: payment
            mappings:
                XyzBundle:
                    type: annotation
                    prefix: Xyz\XyzBundle\Entity
                    dir: "%kernel.root_dir%/../src/Xyz/XyzBundle/Entity"

命令

  • doctrine:generate:entities Xyz / XyzBundle / Entity --no-backup
  • doctrine:schema:update --force --em = payment

我希望它能节省很多时间。