複数のスキーマを含むPGデータベースがあります。Doctrine2とPostgreSQLを使用した複数のDBスキーマと移行
私はsymfony2アプリケーションを1つだけに接続する必要があります。
何も設定しない場合、デフォルトでDoctrine2はすべてのスキーマを検索して、テーブルにSELECT
を作成しようとします。
symfony2 + [email protected] setting a schemaは、今では私が指定したシェマにだけ行くように見えるが、それはまだ私のスキーマに存在するが、他のもので、いくつかのテーブルを探しています:
私はこの答えを追いました。私は何かのldoctrineを実行します。移行:デフ
[Doctrine\DBAL\DBALException]
An exception occurred while executing 'SELECT min_value, increment_by FROM "pgstatspacknameid"':
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "pgstatspacknameid" does not exist
LINE 1: SELECT min_value, increment_by FROM "pgstatspacknameid"
^
[PDOException]
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "pgstatspacknameid" does not exist
LINE 1: SELECT min_value, increment_by FROM "pgstatspacknameid"
^
だから教義の移行のドキュメント以下、Iは、接続構成にこの行を追加:
schema_filter: ~^(?!pgstats)~
をそれはまだ常にSELECT
を作ってみますこれらの表では...
感謝を! ベンダーのファイルを変更せずにこのクラスをオーバーライドする方法について考えていますか? – BastienSander
テストされていませんが、AbstractPostgresqlDriverからgetSchemaManagerをオーバーライドして、上記の変更を加えたカスタムSchemaManagerを返すことができます。 – user993553