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

Oracle Discussion :

Gestion des changements de schema


Sujet :

Oracle

  1. #1
    Membre averti
    Avatar de rozwel
    Inscrit en
    Mars 2002
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 324
    Points : 334
    Points
    334
    Par défaut Gestion des changements de schema
    Je travaille sur une application J2EE avec Hibernate et une base de donnees oracle. Au fur et a mesure que je rajoute des fonctionnalites a mon application, il arrive souvent que la structure de la base change un tout petit peu: ajout d'une colonne, modification du nom d'une contrainte, etc.

    Jusqu'a present, quand les changements etaient minimes, j'ecrivais manuellement un petit script SQL d'upgrade. Et quand les changements etaient trop importants, j'effacais tout pour recreer une structure propre. Mais la il commence a y avoir trop de donnees importantes dans la base que je dois faire migrer en meme temps que la structure. Pour info, j'ai essaye de faire un export/import des tables contenant les donnees importantes, mais ca ne marche pas tres bien parce que les contraintes gerees par Hibernate sont assez complexes.

    Alors avant que je me lance dans le developpement d'un fonction d'export/import au niveau applicatif, est-ce qu'il n'existerait pas un outil qui faciliterait ce genre de migration de schema ?

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    j'ai essaye de faire un export/import des tables contenant les donnees importantes, mais ca ne marche pas tres bien parce que les contraintes gerees par Hibernate sont assez complexes.
    En fait, l'import ne sait pas gérer correctement la bonne séquences des tables à importer pour que les contraintes d'intégrité référentielles (foreign keys) soient respectées pendant la phase d'import: c'est une limitation connue et même documentée
    (voir: http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14215/exp_imp.htm#sthref2193)

    On peut contourner ce problème en essayant de faire l'import en plusieurs passes
    1. tout ce qui n'est pas contraintes (CONSTRAINTS=N) puis les contraintes (option CONSTRAINTS=Y)
    2. ou bien importer les objets sans les données (ROWS=N), désactiver toutes les contraintes FK, importer les données (IGNORE=Y et ROWS=Y) puis activer les contraintes FK.

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/02/2009, 16h57
  2. Migration 8.1 -> 10.3 : changement dans la gestion des 403
    Par Morgoth_fr dans le forum Weblogic
    Réponses: 0
    Dernier message: 31/10/2008, 15h45
  3. Gestion des changements dans une BDD en étoile
    Par _skip dans le forum Conception/Modélisation
    Réponses: 5
    Dernier message: 24/08/2008, 10h34
  4. gestion des Schema oracle avec hibernate
    Par fbo1276 dans le forum Hibernate
    Réponses: 2
    Dernier message: 19/11/2007, 17h53
  5. Gestion des changement de JPanel dans une applet
    Par le Daoud dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 26/06/2006, 14h32

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