2

Codeigniter3.0の開発バージョンを使用しています。

$db構成にSchemaプロパティがあることがわかります。しかし、ATMに使用しているようには見えません。私のスクリプトは複数のスキーマに接続しないためです。

postgreで複数のスキーマを使用してCIをセットアップする方法を知っている人はいますか?

4

2 に答える 2

4

これがCI開発者による解決策です。 https://github.com/EllisLab/CodeIgniter/commit/485a348a7a633d38f69a963e9f77e23077f75d11

CIシステム/コアのこのリンクから「データベース」フォルダのみをダウンロードし、application / config/database.phpに次の行を追加することをお勧めします...

$db['default']['schema'] = 'NAME_OF_YOUR_SCHEMA';

または、配列リストで使用している場合は、次のようになります。

$db['default'] = array('schema'=>'NAME_OF_YOUR_SCHEMA');
于 2013-02-06T17:23:49.880 に答える
0

このような何かが、特に移行に関して、私を夢中にさせていました。

私のために働いたのは:

$this->db->query('SET search_path TO <schema>');

たとえば、up()メソッドの開始時と終了時:

public function up()
{
    $this->db->query('SET search_path TO <custom_schema>');
    ...
    # Database stuff here
    ...
    $this->db->query('SET search_path TO public'); //where migrations table exists
}

これを試して、schema.table(構文)でのpg_query()エラーを回避し、リレーション「migrations」が存在しません。

于 2022-01-13T09:22:36.220 に答える