Symfony中支持多个数据库

Gra*_*ton 3 symfony1

我正在使用Propel作为我的Symfony项目的DAL.我似乎无法让我的应用程序跨两个或更多数据库工作.

这是我的schema.yml:

db1:
  lkp_User:
    pk_User:                     { type: integer, required: true, primaryKey: true, autoIncrement: true }
    UserName:                    { type: varchar(45), required: true }
    Password:                    longvarchar
    _uniques:
      Unique:                    [ UserName ]

db2:
  tesco:
    Id:                  { type: integer, required: true, primaryKey: true, autoIncrement: true }
    Name:                { type: varchar(45), required: true }
    Description:         longvarchar
Run Code Online (Sandbox Code Playgroud)

这是databases.yml:

dev:
  db1:
    param:
      classname: DebugPDO
test:
  db1:
    param:
      classname: DebugPDO
all:
  db1:
    class: sfPropelDatabase
    param:
      classname: PropelPDO
      dsn: 'mysql:dbname=bpodb;host=localhost'   #where the db is located
      username: root
      password: #pass
      encoding: utf8
      persistent: true
      pooling: true


  db2:
    class: sfPropelDatabase
    param:
      classname: PropelPDO
      dsn: 'mysql:dbname=mystore2;host=localhost'   #where the db is located
      username: root
      password: #pass
      encoding: utf8
      persistent: true
      pooling: true
Run Code Online (Sandbox Code Playgroud)

当我打电话时php symfony propel-build-model,只db1生成,db2不是.

知道如何解决这个问题吗?

Gra*_*ton 6

我有这个问题!最重要的是您必须根据%dbname%.schema.yml命名您的架构.通过这种方式,Symfony将能够将ymls分配给正确的数据库.

  • 那是坏事.谢谢你的提示! (2认同)