求symfony 1.4 propel 操作多个数据库 方法

求symfony 1.4 propel 操作多个数据库 切实可行的方法 不要网上抄录的 要自己操作成功 。希望有详细步骤说明。非常感谢!

阅读 5.8k
2 个回答

我一直用的doctrine
如果是连接多个数据库的话
1.在定义schema的时候指定table的connetion

mytable:
  connection: conn1
  tableName: mytable
  columns:
    id:
      type: integer(8)
      ....

2.databases.yml中定义数据库连接参数

conn1:
    class: sfDoctrineDatabase
    param:
      dsn:      mysql:host=127.0.0.1;dbname=mydb;port=3306
      username: root
      password: 
      encoding: utf8 

自己测试的 先贴出来 1配置databases.yml

2.多个数据库的表最好要加上前缀以免表名相同导致有些model被覆盖丢失

3.生成schema,yml文件 symfony propel:build-schema

4.生成form symfony propel:build-form --connection=testa symfony propel:build-form --connection=justb

5生成filter symfony propel:build-filters --connection=testa symfony propel:build-filters --connection=justb

6. $c = new Criteria(); $a = APeer::doSelect($c, Propel::getConnection('testa')); $b = CPeer::doSelect($c, Propel::getConnection('justb'));

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进