1

Symfony の config.yml に 2 つの MySQL 接続が設定されています。

doctrine:
    dbal:
        default_connection: default
        connections:
            default: __VARIABLES
            dealer: __VARIABLES

次の方法で、特定の接続からオブジェクトを取得できることを知っています。 $this->get('doctrine')->getEntityManager('dealer');

私の質問は - 特定のエンティティへの接続を設定する方法があるので、doctrine:schema:update同期は設定された接続の範囲内でのみ行われますか?

4

1 に答える 1

3

はい - エンティティ マネージャ セクションでエンティティ マネージャの責任を指定できます。この目的のために「dir」オプションを使用できます。auto_mapping オプションを無効にして、Doctrine にどのエンティティがどのエンティティ マネージャに関連しているかを伝える必要があります。例えば:

doctrine:
   dbal:
       (...)

   orm:
       auto_generate_proxy_classes: %kernel.debug%        
       default_entity_manager:   default
       entity_managers:
           default:
               connection:       default
               mappings:                    
                   CompanySomeBundle:
                       dir: Entity/BaseEntity/

            secondem:
                connection:      second_connection
                mappings:                 
                    CompanySomeBundle:
                       dir: Entity/AdditionalEntity/

BaseEntity dir のすべてのエンティティは「default」em に属し、AdditionalEntity dir のこれらのエンティティは「secondem」エンティティ マネージャに属します。

于 2012-09-11T10:45:02.937 に答える