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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
php bin/console do:sc:up --force --em=client001
plante
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?