IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Configuration database et génération schema.yml [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut Configuration database et génération schema.yml
    Bonjour,

    Voilà j'ai un projet à réaliser qui utilise une BDD existante qui s'organise comme suit : (SGBD PostgreSQL)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Beta
      -schémas
          -public
              *table
              *...
          -public2
          -public3
              *table
              *table
              *....
    Le soucis c'est que je ne vois pas comment configurer le database.yml pour pouvoir générer mon schema.yml car je dois utiliser une table qui se trouve dans le schéma public et toutes les autres dans le schéma public3.

    Avez vous une idée sur comment je peux faire ?

    Note : En supposant que je m'en fout des schémas j'obtiens quand même une erreur... (que je comprend pas d'ailleurs, même en regardant à quoi correspond le code erreur)

    Je configure mon database.yml de cette manière :
    php symfony configure:database "pgsql:host=*******;dbname=beta" beta ****

    Puis quand je veux générer mon schema.yml j'obtiens :
    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
     
      SQLSTATE[42809]: Wrong object type: 7 ERREUR:  op ANY/ALL (tableau) requiert un tableau sur le côté droit. Failing Query: "SELECT
                                                              a.attnum,
                                                              a.attname AS field,
                                                              t.typname AS type,
                                                              format_type(a.atttypid, a.atttypmod) AS complete_type,
                                                              a.attnotnull AS isnotnull,
                                                              (SELECT 't'
                                                                FROM pg_index
                                                                WHERE c.oid = pg_index.indrelid
                                                                AND a.attnum = ANY (pg_index.indkey)
                                                                AND pg_index.indisprimary = 't'
                                                              ) AS pri,
                                                              (SELECT pg_attrdef.adsrc
                                                                FROM pg_attrdef
                                                                WHERE c.oid = pg_attrdef.adrelid
                                                                AND pg_attrdef.adnum=a.attnum
                                                              ) AS default
                                                        FROM pg_attribute a, pg_class c, pg_type t
                                                        WHERE c.relname = 'acces'
                                                              AND a.attnum > 0
                                                              AND a.attrelid = c.oid
                                                              AND a.atttypid = t.oid
                                                        ORDER BY a.attnum"
    Je désespère je ne trouve rien sur le net :/

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Par défaut
    http://www.doctrine-project.org/docu...ection-binding

    Il faut définir les 2 connections dans ton fichier databases.yml. Définis Doctrine la connection principale en dernier.
    Ensuite dans ton schéma tu assignes à tes classes la connexion à utiliser.

  3. #3
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 115
    Par défaut
    J'avais déjà vu ce lien, le problème c'est que mes connexion devront forcément être du style "beta.public et beta.public3" pour accéder au schema public et public3 or cette notion de schema dans les base de données on dirait que ce n'est pas reconnu par doctrine.

    Mais là pour l'instant j'essaye juste de me connecter à une base PostgreSQL et générer un schema.yml (je me préoccupe pas de la notion de schema dans postgre pour l'instant).

    Je configure mon database.yml de cette manière :
    php symfony configure:database "pgsql:host=*****;dbname=beta" **** ****

    Et lorsque j'essaye de générer mon schema.yml de cette manière :
    php symfony doctrine:build-schema

    J'obtiens cette erreur :
    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
     
      SQLSTATE[42809]: Wrong object type: 7 ERREUR:  op ANY/ALL (tableau) requiert un tableau sur le côté droit. Failing Query: "SELECT
                                                              a.attnum,
                                                              a.attname AS field,
                                                              t.typname AS type,
                                                              format_type(a.atttypid, a.atttypmod) AS complete_type,
                                                              a.attnotnull AS isnotnull,
                                                              (SELECT 't'
                                                                FROM pg_index
                                                                WHERE c.oid = pg_index.indrelid
                                                                AND a.attnum = ANY (pg_index.indkey)
                                                                AND pg_index.indisprimary = 't'
                                                              ) AS pri,
                                                              (SELECT pg_attrdef.adsrc
                                                                FROM pg_attrdef
                                                                WHERE c.oid = pg_attrdef.adrelid
                                                                AND pg_attrdef.adnum=a.attnum
                                                              ) AS default
                                                        FROM pg_attribute a, pg_class c, pg_type t
                                                        WHERE c.relname = 'acces'
                                                              AND a.attnum > 0
                                                              AND a.attrelid = c.oid
                                                              AND a.atttypid = t.oid
                                                        ORDER BY a.attnum"
    Edit :
    Pour ceux que ça intéresse le problème est qu'on utilise la version 8.0.13 de PostgreSQL et dans cette version il n'existe pas de fonction de conversion de int2vector vers un tableau d'entiers, c'était donc une erreur PostgreSQL et non pas symfony.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [1.x] index=unique dans schema.yml
    Par kamdad dans le forum Symfony
    Réponses: 4
    Dernier message: 23/04/2009, 17h55
  2. [Doctrine] 2 schema.yml
    Par zoukkev dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/04/2009, 11h54
  3. Réponses: 2
    Dernier message: 04/04/2009, 16h03
  4. [1.x] probleme fichier schema.yml
    Par mibout5629 dans le forum Symfony
    Réponses: 2
    Dernier message: 30/11/2008, 18h13
  5. Configuration database control
    Par foucfouc dans le forum Administration
    Réponses: 1
    Dernier message: 17/11/2008, 16h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo