簡體   English   中英

連接到不同服務器上的多個數據庫

[英]Connect to Multiple Databases on Different Servers

我已經將Symfony與Doctrine一起使用了一段時間,直到現在為止,已經能夠通過config.yml將Doctrine配置為連接到同一服務器(IP)上的多個數據庫。

但是現在我有不同的情況了。

我正在研究一個案例,該案例具有在不同IP地址上運行的多個項目。 我可以連接在還托管主應用程序的計算機上本地運行的數據庫,但是現在我需要連接到另一台服務器上托管的另一個數據庫。 因此,要設計這種情況:

  • 服務器Alpha。 IP:193.15.15.15,數據庫名稱:“ Foo”
  • 服務器Beta。 IP:193.15.15.16,數據庫名稱:“ Bar”

我已經在我的parameter.yml中為每個數據庫定義了用戶名和密碼,所以這沒什么大不了的。 我只想知道當應用程序在服務器Alpha上時,是否可以連接到服務器Beta上的(本地托管)數據庫。

提前致謝!

您應該配置多個實體管理器和連接
在文件config.yml上:

doctrine:
     dbal:
         default_connection: default
         connections:
            default:
                driver:   pdo_mysql
                host:     '193.15.15.15'
                port:     '%port_parameter_for_foo%'
                dbname:   'Foo'
                user:     '%user_parameter_for_foo%'
                password: '%pass_parameter_for_foo%'
                charset:  UTF8
            customer:
                driver:   pdo_mysql
                host:     '193.15.15.16'
                port:     '%port_parameter_for_bar%'
                dbname:   'Bar'
                user:     '%user_parameter_for_bar%'
                password: '%pass_parameter_for_bar%'
                charset:  UTF8

    orm:
        default_entity_manager: default
        entity_managers:
            default:
                connection: default
                mappings:
                    BundleOnAlpha:  ~
            customer:
                connection: beta
                mappings:
                    BundleOnBeta: ~

該文檔更加完整: https//symfony.com/doc/3.4/doctrine/multiple_entity_managers.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM