搜索

首页  >  问答  >  正文

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

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

漂亮男人漂亮男人2746 天前485

全部回复(2)我来回复

  • 習慣沉默

    習慣沉默2017-05-16 16:47:23

    我一直用的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 

    回复
    0
  • 高洛峰

    高洛峰2017-05-16 16:47:23

    自己测试的 先贴出来

    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'));

    回复
    0
  • 取消回复