2012-08-14 70 views
0

我想知道是否可以在Symfony2(我正在使用Doctrine2)中設置多個數據庫,因爲當我想看到另一個應用程序時,它說有一個錯誤,並且這個表不存在。我可以在Symfony2中設置更多的數據庫嗎?

我的問題是每次當我想查看不同的應用程序時,我必須更改我的數據庫(我在parameters.ini文件中)或者有另一種方法?

回答

4

基本上,你必須定義(至少)每個數據庫1周的EntityManager AND(至少)1個%的數據庫連接。這是由配置在app/config/config.yml實現:

# Doctrine Configuration 
doctrine: 
    dbal: 
     default_connection: conn1 
     connections: 
      conn1: 
       driver: %database_driver% 
       host:  %database_host% 
       port:  %database_port% 
       dbname: %database_name% 
       user:  %database_user% 
       password: %database_password% 
       charset: UTF8 
      conn2: 
       driver: %database2_driver% 
       host:  %database2_host% 
       port:  %database2_port% 
       dbname: %database2_name% 
       user:  %database2_user% 
       password: %database2_password% 
       charset: UTF8 

    orm: 
     auto_generate_proxy_classes: %kernel.debug% 

     default_entity_manager: em1 
     entity_managers: 
      em1: 
       connection:  conn1 
       mappings: 
        XxxBundle1: ~ 
      em2: 
       connection:  conn2 
       mappings: 
        XxxBundle2: ~ 

正如你必須知道哪個包包含給定的EntityManager映射實體,你必須創建(至少)每個數據庫1捆。正如我寫的here,不要忘記在orm部分中刪除auto_mapping參數!

Official documentation documentation on this subject

相關問題