PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Yii2:como especificar vários esquemas de banco de dados?


Você pode configurar mais de um em componentes
      return [
      'components' => [
          'db1' => [
              'class' => 'yii\db\Connection',
              'dsn' => 'mysql:host=localhost;dbname=testdb1',
              'username' => 'demo1',
              'password' => 'demo1',
          ],
          'db2' => [
              'class' => 'yii\db\Connection',
              'dsn' => 'mysql:host=localhost;dbname=testdb2',
              'username' => 'demo2',
              'password' => 'demo2',
          ],

      ],
  ];

e você pode se referir a cada um usando
 \Yii::$app->db1;  

 or 

  \Yii::$app->db2;  

http://www.yiiframework.com/doc-2.0 /guide-db-active-record.html

http://www.yiiframework.com/doc-2.0/guide -start-databases.html

para postgresql você pode tentar
      return [
      'components' => [
          'db1' => [
              'class' => 'yii\db\Connection',
              'dsn' => 'pgsql:host=localhost;dbname=testdb1',
              'username' => 'demo1',
              'password' => 'demo1',
              'schemaMap' => [
                'pgsql'=> [
                  'class'=>'yii\db\pgsql\Schema',
                  'defaultSchema' => 'your_schema1' //specify your schema here
                ]
              ],
          ],
          'db2' => [
              'class' => 'yii\db\Connection',
              'dsn' => 'mysql:host=localhost;dbname=testdb2',
              'username' => 'demo2',
              'password' => 'demo2',
              'schemaMap' => [
                'pgsql'=> [
                  'class'=>'yii\db\pgsql\Schema',
                  'defaultSchema' => 'your_schema2' //specify your schema here
                ]
              ],
          ],

      ],
  ];