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?
database
version-control
Kenneth
la source
la source
Réponses:
K. Scott Allen a écrit d'excellents articles sur ce sujet il y a quelques années. Ils sont peut-être "anciens" en termes d'Internet, mais sa solution est toujours très agréable.
la source
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.
la source
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é.
la source