Quelles méthodes existent pour gérer la gestion des changements de base de données? [fermé]

9

J'ai récemment commencé à travailler avec le contrôle de version dans mon développement web en utilisant subversion. Cela fonctionne très bien pour gérer les fichiers que je développe, mais ne fait rien pour les modifications que j'ai parfois besoin d'apporter aux bases de données. À ma connaissance, le serveur sur lequel je travaille n'a pas de système de gestion de base de données en place et je ne pourrais probablement pas leur faire installer quoi que ce soit. Quelles sont les options pour gérer les bases de données dans ce type d'environnement?

Kenneth
la source
1
@Jeff O Ce fil que vous avez suggéré traite plus du contenu versionné que du versioning de la structure de la base de données, ce que j'aimerais pouvoir suivre. Merci pour la suggestion!
Kenneth

Réponses:

3

Les infrastructures de migration sont des bibliothèques de code qui fournissent une API simple pour automatiser les modifications de la base de données, avec un mécanisme de version de la base de données.

J'utilise Migrator.Net pour certains projets. Je crée une classe pour chaque ensemble de modifications et le cadre fournit un moyen simple d'exécuter les modifications par rapport à une base de données. Je peux également exécuter des modifications en avant et en arrière, à condition de coder la logique pour la rétrogradation ainsi que la mise à niveau.

Nous gérons ensuite le code de migration dans notre VCS comme tout autre code.

quentin-starin
la source
1

Sauvegardes nocturnes bien sûr (au moins) .. Parce que ce n'est pas seulement la structure de base de données qui vous intéresse.

Vous avez plusieurs options:

1) Gardez vos scripts alter dans le contrôle Source.

2) Après chaque changement de base de données, générez les scripts Db .. et stockez-les en même temps dans le contrôle de source avec une sauvegarde de base de données. De cette façon, vous pouvez faire une comparaison sur le fichier de script généré.

Crétins
la source