2010-01-12 8 views
1

Je me demandais si quelqu'un avait déjà pensé ou mis en œuvre quelque chose comme ça.Schéma de versionnement de la base de données Oracle

Je considère l'implémentation d'un schéma de versionnement de base de données. Une fois par jour, un travail est exécuté, ce qui génère tous les DDL et le code source dans un seul fichier. Un hachage serait alors exécuté contre ce fichier. Le hachage serait stocké dans la base de données avec un numéro de version. Chaque fois que le hachage est modifié, la valeur de hachage est mise à jour et le numéro de version est incrémenté.

Est-ce que cela a du sens? Quelqu'un voit-il des trous énormes dans cet autre que le fait que cela se produise une fois par jour?

Quelqu'un a-t-il fait quelque chose de similaire?

Répondre

0

Une autre approche pourrait consister à programmer vos modifications incrémentielles afin que la somme de ces scripts représente votre version actuelle. L'avantage est que, surtout si vous développez en équipe, les scripts individuels peuvent être testés sur une instance locale avant d'être validés dans le référentiel.

J'utiliserais une série de scripts incrémentaux si les changements sont nombreux et fréquents, et votre approche si le code de la base de données a atteint un certain niveau de stabilité.

0

Vous ne savez pas exactement ce que vous en pensez. J'aurais tendance à utiliser les déclencheurs AUDIT et/ou DDL pour capturer les changements de code dans la base de données. Je ne l'utiliserais pas à la place d'un contrôle de code source approprié, bien qu'il puisse être mieux que rien si cela n'existe pas et que vous êtes impuissant à le mettre en place. Une idée est que, parfois, les données de référence sont aussi importantes que le code.

Questions connexes