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

PHP & Base de données Discussion :

[Doctrine] Schema.yml comportement different en fonction des versions mysql


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 122
    Points : 128
    Points
    128
    Par défaut [Doctrine] Schema.yml comportement different en fonction des versions mysql
    Bonjour,

    mon problème se situe entre doctrine et mysql, le code sql généré a partir du schema passe pour toutes les requètes create table, mais par contre les alter ne passe pas sur la version 5.0.4 et il passe sans souci sur une version 5.1.61

    Il manquait de notnull a true dans certaines clefs etrangere mais maintenant je ne voie pas ou peut etre le poblème

    ci dessous mon schéma :

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Permission:
      actAs: [Timestampable]
      columns:
        name: {type: string(255), unique: true}
        description: {type: string(1000)}
     
    GroupPermission:
      actAs: [Timestampable]
      options:
        symfony: {form: false, filter: false}
      columns:
        group_id: {type: integer, notnull: true, primary: true}
        permission_id: {type: integer, notnull: true, primary: true}
      relations:
        SecureGroup: {onDelete: CASCADE, onUpdate: CASCADE}
        SecurePermission: {onDelete: CASCADE, onUpdate: CASCADE}
     
    Group:
      actAs: [Timestampable]
      columns:
        name: {type: string(255), notnull: true, unique: true}
        description: {type: string(1000)}
      relations:
        User: {refClass: UserGroup, foreignAlias: Groups}
        Permission: {refClass: GroupPermission, foreignAlias: Groups}
     
    UserGroup:
      actAs: [Timestampable]
      options:
        symfony: {form: false, filter: false}
      columns:
        user_id: {type: integer, notnull: true, primary: true}
        group_id: {type: integer, notnull: true, primary: true}
      relations:
        User: {onDelete: CASCADE, onUpdate: CASCADE}
        Group: {onDelete: CASCADE, onUpdate: CASCADE}
     
    User:
      connection: doctrine
      actAs: [Timestampable]
      columns:
        first_name: {type: string(255), notnull: true}
        last_name: {type: string(255), notnull: true}
        email_address: {type: string(255), notnull: true, unique: true}
        username: {type: string(255), notnull: true, unique: true}
        password: {type: string(255), notnull: true}
        is_active: {type: boolean, default: 1}
        hash: {type: string(255)}
        last_login: {type: timestamp}
        entity_id: {type: integer, notnull: true}
      relations:
        Group: {refClass: UserGroup, foreignAlias: Users}
        entity: {foreignAlias: UserEntity}
    Quand on va de l'avant on avance !!!!

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Oups pardon et merci
    Quand on va de l'avant on avance !!!!

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2009
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Wahouuu

    J'ai trouvé après des heures et des heures de recherches...

    Explication:
    Pour la version 5.0.4x pour un clef primaire sur plusieurs champs si rien n'est spécifié mysql met default 0 pour les deux champs en question, et pour une clef primaire simple, mysql fait un default null (sur une clef primaire bizarre...)

    j'ai rajouter dans le schema.sql un default null sur la clefs primaire composée et ça passe
    Quand on va de l'avant on avance !!!!

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

Discussions similaires

  1. [MySQL] Générer du code HTML en fonction des données MySQL via PHP
    Par Nicolas Eggs dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 08/08/2016, 15h24
  2. Doctrine, schema.yml et contrainte d'unicité
    Par Inarius dans le forum ORM
    Réponses: 23
    Dernier message: 11/06/2010, 00h19
  3. schema.yml pour relation n-n Doctrine
    Par psgman113 dans le forum ORM
    Réponses: 3
    Dernier message: 22/03/2010, 19h59
  4. Logique de la dénomination des versions MySQL
    Par alter dans le forum MySQL
    Réponses: 3
    Dernier message: 28/02/2010, 21h12
  5. [Doctrine] 2 schema.yml
    Par zoukkev dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/04/2009, 11h54

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