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

ORM PHP Discussion :

[1.4]Ordre des requêtes dans la tâche data-load


Sujet :

ORM PHP

  1. #1
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut [1.4]Ordre des requêtes dans la tâche data-load
    Bonjour à tous,

    dans mon schéma, j'ai une relation n-n déclarée comme suit (.yml résumé) :
    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
    CustomerOrder:
      columns:
        blabla
      relations:
        Status:
          foreignAlias: Orders
          class: OrderStatus
          refClass: CustomerOrderHistory
    
    OrderStatus:
      columns:
        blabla
    
    CustomerOrderHistory:
      columns:
        customer_order_id: { type: integer, primary: true }
        order_status_id: { type: integer, primary: true }
      relations:
        CustomerOrder:
          foreignAlias: History
          onDelete: cascade
          onUpdate: cascade
          orderBy: rank ASC
        OrderStatus:
          onDelete: restrict
          onUpdate: cascade
    le problème se trouve au niveau de la déclaration onDelete en rouge : la tâche doctrine-data-load plante à cause de cette contrainte car elle n'arrive pas à supprimer la table OrderStatus.

    La solution rapide et sale consiste évidemment à supprimer la contrainte mais je n'aime pas ce genre de bidouilles, la contrainte sur le onDelete est une sécurité que je ne veux pas faire sauter.

    La question est alors : comment faire pour que le data-load supprime les tables dans le bon ordre ? Il suffirait qu'il supprime d'abord la table CustomerOrder (ce qui supprimerait en cascade les entrées dans CustomerOrderHistory) pour que les choses se passent bien. Y a t'il moyen de lui indiquer cet ordre quelque part dans les fichiers .yml ?

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    Tu as un autre poste, sur une autre partie de ton application, qui dévie vers la correction du schéma.

    Je te propose de geler celui-ci et de travailler entièrement sur l'autre sujet.

Discussions similaires

  1. [9.0] Conserver l'ordre des enregistrements dans une requête
    Par mcdelay dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 27/08/2013, 12h59
  2. Ordre des colonnes dans la requête différent de celui de la table
    Par HenriJ dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 06/02/2013, 07h51
  3. Ordre des filres dans une requête
    Par rgomes dans le forum DB2
    Réponses: 1
    Dernier message: 30/08/2011, 14h34
  4. [AC-2003] Ordre des tris dans une requête ?
    Par lil404 dans le forum IHM
    Réponses: 2
    Dernier message: 19/05/2009, 10h51
  5. Réponses: 6
    Dernier message: 15/05/2006, 11h50

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