如何在 symfony 中设置多数据库

发布于 2024-12-07 01:44:34 字数 251 浏览 0 评论 0原文

我在我的项目中使用 symfony,我有两个数据库, 但我知道只为单个数据库设置 symfony,如下面的代码 所以

all:doctrine:
class: sfDoctrineDatabase
param:
  dsn:      mysql:host=localhost;dbname=gapi
  username: root
  password: 

,请帮助我为 symfony 主义设置两个或更多数据库。

i am using symfony for my project where i have two database,
but i know only to setup symfony for single database, like below code
database.yml

all:doctrine:
class: sfDoctrineDatabase
param:
  dsn:      mysql:host=localhost;dbname=gapi
  username: root
  password: 

so, please help me about to setup two or more database for symfony doctrine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮光沉寂 2024-12-14 01:44:34

databases.yml 的结构如下:

all: # <-- Environment
  doctrine: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=gapi
      username: root
      password: 

因此,如果您想添加额外的数据库连接(databases.yml 指定连接,而不是数据库本身)。您可以从doctrine` 上复制该块,并为其指定一个新名称。像这样的事情:

all: # <-- Environment
  doctrine: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=gapi
      username: root
      password: 

  # Extra connection:
  connection2: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=database2
      username: root
      password: 

但要注意:使用多个连接需要对 Symfony 和 Doctrine 有很多了解,并且您已经很好地思考和测试,以确保确定您正在正确的连接上执行查询。

The structure of the databases.yml is like this:

all: # <-- Environment
  doctrine: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=gapi
      username: root
      password: 

So if you want to add an extra database connection (the databases.yml specifies the connections, not the databases itself). You can copy the block fromdoctrine` on, and give it a new name. Something like this:

all: # <-- Environment
  doctrine: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=gapi
      username: root
      password: 

  # Extra connection:
  connection2: # <-- Name of connection
    class: sfDoctrineDatabase # <-- Connection class
    param: # <-- Parameters for the class
      dsn:      mysql:host=localhost;dbname=database2
      username: root
      password: 

But be warned: working with multiple connections requires a lot of understanding of Symfony and Doctrine, and you have think and test very good, to know for sure you're executing queries on the correct connection.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文