Ho un database PG contenente più schemi.Multiple DB Schema e migrazioni con Doctrine2 e PostgreSQL
Ho un'applicazione symfony2 che deve connettersi solo a uno di essi.
Se non configuro nulla, per impostazione predefinita Doctrine2 cerca in tutti gli schemi in modo che tenti di rendere SELECT
nella tabella in cui non ha il diritto.
ho seguito questa risposta: symfony2 + [email protected] setting a schema
ora sembra andare solo nel Shema ho specificato, ma è ancora alla ricerca di alcune tabelle non presenti nel mio schema, ma in altri.
Quando eseguo qualcosa ldoctrine: migrazioni: diff
[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"
^
Quindi seguendo la documentazione di migrazione dottrina, ho aggiunto questa linea nella progettazione del collegamento:
schema_filter: ~^(?!pgstats)~
E ancora sempre provare a fare SELECT
in quelle tabelle ...
Grazie ho intenzione di provare questa soluzione! Hai un'idea di come eseguire l'override di questa classe senza modificare il file nel fornitore? – BastienSander
Non testato, è possibile sovrascrivere getSchemaManager da AbstractPostgresqlDriver per restituire uno SchemaManager personalizzato con le modifiche precedenti. – user993553