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

Langage PHP Discussion :

persister plusieurs version d'un objet


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 165
    Par défaut persister plusieurs version d'un objet
    Bonjour,
    comment peut-on gérer une système de version d'objet en php, imaginons que j'ai un objet A et que cet objet évolue dans le temps de A.0 à A.n quelle est l'approche ?

    cet objet est persisté en base, j'avais naïvement pensé ne pas faire de clé primaire , et avoir un id non unique puis jouer sur le numéro de version en faisant un clone de l'objet en base, mais j'ai des relations entre les objet en base et cela ne marche pas. Du coup je suis un peu perdu sur l'approche globale.
    Merci par avance

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    c'est très complexe. Un jour, j'ai conçu une base de données temporelle où chaque information avait des durées de vie et il fallait tout conserver afin qu'une requête temporelle puisse ressortir l'état d'un bloc d'informations à un moment lambda, ben crois-moi c'est très compliqué à mettre en oeuvre.

    Sinon je me pose la question si pour toi tu ne parlerais pas par hasard des tables d'audit ? Juste empiler les différentes versions d'un enregistrement afin de conserver son historique. Si c'est ça, cela va dépendre de ton moteur de SGBDR les gros incorporent se service nativement.

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 165
    Par défaut
    Merci,
    en faite j'ai les deux , je dois historiser et ça je m'en suis sortie en sérialisant les données modififées et conservé la possibilité de rappeler les objets en fonction de leur version.
    En effet c'est un peu complexe, du coup je me demande après réflexion si la bonne solution n'est pas de créer un index de groupe(index pour toutes les versions) en plus de l'id de la table, chaque objet modifié serait persisté avec le même index et une version différente. ainsi je pourrais appeler l'objet en fonction de son index et de sa version.
    j'ignore encore si cette approche sera ok avec les multiples relations entre table .....
    je reste ouvert à l'échange et je ne manquerais pas de vous faire part de mon retour sur se sujet.

    Bruno

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    c'est une bonne approche, tu peux séparer les clés des données, ainsi tu as la possibilité de conserver le modèle relationnel et disposer des contrôles d'intégrité et gérer tes versions d'objet séparément.
    Effectivement, les requêtes vont prendre en poids très rapidement.

Discussions similaires

  1. [Débutant] Installer plusieurs versions de JRE
    Par moonboot dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2006, 11h25
  2. Plusieurs clés dans un objet session
    Par maxos75 dans le forum ASP
    Réponses: 4
    Dernier message: 22/12/2005, 16h14
  3. Install de plusieurs versions d'Oracle
    Par macben dans le forum Installation
    Réponses: 1
    Dernier message: 14/09/2005, 17h20
  4. [Débutant] Plusieurs versions sur un même système ?
    Par castaka dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/02/2005, 10h21
  5. Réponses: 2
    Dernier message: 05/12/2002, 16h55

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