我想知道是否可以在Symfony2
(我正在使用Doctrine2)中設置多個數據庫,因爲當我想看到另一個應用程序時,它說有一個錯誤,並且這個表不存在。我可以在Symfony2中設置更多的數據庫嗎?
我的問題是每次當我想查看不同的應用程序時,我必須更改我的數據庫(我在parameters.ini
文件中)或者有另一種方法?
我想知道是否可以在Symfony2
(我正在使用Doctrine2)中設置多個數據庫,因爲當我想看到另一個應用程序時,它說有一個錯誤,並且這個表不存在。我可以在Symfony2中設置更多的數據庫嗎?
我的問題是每次當我想查看不同的應用程序時,我必須更改我的數據庫(我在parameters.ini
文件中)或者有另一種方法?
基本上,你必須定義(至少)每個數據庫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
參數!