Bonjour,
Je gère un projet pour plus de 120 clients sur symfony 3.4 et une base de donnée postresql et chaque client a son schema.
Le projet est composé de 2 Bundles
- l'appBundle est le core du projet, il gère les données des 122 clients (les posts, les stats... )
- ParametreBundle gère les caractéristiques communes aux 120 clients (les profils, ... )
J'ai surchargé son driver pgsql comme proposé sur https://stackoverflow.com/a/10829694/7896062 car doctrine gère mal les schémas postgresql
Et ca fonctionne au poil (sur plusieurs de mes projets)
Mon config.yml ressemble a ca:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 doctrine: dbal: default_connection : default connections: default: driver: pdo_pgsql driver_class: AppBundle\Doctrine\DBAL\Driver\PDOPgSql\Driver options: search_path: public host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 client001: driver: pdo_pgsql driver_class: AppBundle\Doctrine\DBAL\Driver\PDOPgSql\Driver options: search_path: client001 host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 orm: default_entity_manager: default entity_managers: default: connection: default mappings: ParametreBundle: ~ naming_strategy: doctrine.orm.naming_strategy.underscore client001: connection: client001 mappings: AppBundle: ~ naming_strategy: doctrine.orm.naming_strategy.underscore auto_generate_proxy_classes: '%kernel.debug%'
Les commandes CLI suivantes fonctionnent parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 php bin/console do:sc:cr --em=default php bin/console do:sc:cr --em=client001 php bin/console do:sc:up --force --em=default
par contre
plante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2php bin/console do:sc:up --force --em=client001
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SQLSTATE[42P01]: Undefined table: 7 ERREUR: la relation « libelle_c_f_id_seq » n'existe pas LINE 1: SELECT min_value, increment_by FROM "libelle_c_f_id_seq" In PDOConnection.php line 106: SQLSTATE[42P01]: Undefined table: 7 ERREUR: la relation « libelle_c_f_id_seq » n'existe pas LINE 1: SELECT min_value, increment_by FROM "libelle_c_f_id_seq"
sachant que libelleCF est une entity de ParametreBundle et pas d'AppBundle...
Je sèche complètement... quelqu'un aurait il une idée svp?
Partager