2010-11-11 6 views
1

Je veux commencer à entrer dans toute cette affaire SVN ... J'ai un serveur mac qui est livré avec svn, une question que j'ai cependant.Sauvegarde d'une base de données à SVN

Si je mets en place des sites que je développe, je comprends que les fichiers doivent être ajoutés, mais comment allez-vous sauvegarder la base de données accossiated avec le site?

Si quelqu'un pouvait me dire comment ça se passe, ce serait génial.

Vive

Répondre

1

Le point ici est que vous ne voulez pas seulement des sauvegardes de votre schéma db et des données statiques, vous voulez être capable de reproduire un état spécifique du schéma à une révision donnée.

Voici une solution que j'utilise, ce n'est pas la meilleure car elle nécessite votre diligence, mais c'est une solution simple et efficace.

Dans un sous-dossier appelé "db" J'ai trois fichiers qui sont versionnés sous SVN:
- schema.sql
- démarrage data.sql
- increments.sql

Quand il y a des changements plus importants ou "tags" bifurqués, je prends une nouvelle exportation du schéma et des start-data et vide les increments.sql.

Lorsque de petites modifications sont apportées au schéma, j'ajoute les requêtes correspondantes aux incréments.

De cette façon, je peux toujours reproduire un état de base de données donné pour chaque révision donnée. Si je n'oublie pas d'ammender les incréments, c'est.

1

Je ne ai pas les bases de données « de sauvegarde » dans un système de contrôle de version. J'utilise la "meilleure pratique" pour sauvegarder une base de données (et c'est différent pour différents dbms). Parfois, c'est un simple vidage sur un cron. D'autres fois, j'utilise simplement un outil qui le gère pour moi.

Je fais le check-in et géré mon ddl SQL (schéma) et dml SQL pour les données invariantes (données statiques) dans les fichiers plats sql dans un vcs. Je fais généralement ceci dans le même vcs que le code source afin qu'ils puissent être versionnés ensemble et je peux toujours savoir à quoi ressemblait le schéma pour une révision particulière.

0

La sauvegarde d'une sauvegarde dépend du type de base de données que vous utilisez. Pour mysql, vous pouvez vider tout votre schéma et vos données dans un seul fichier avec la commande mysqldump. Placez ensuite ce fichier sous le contrôle de version et mettez-le à jour régulièrement. Je ne connais pas la taille de votre base de données, mais pour un site wordpress/joomla/drupal typique, la taille de la base de données n'est généralement pas assez importante pour que je me soucie de la sauvegarde incrémentale. temps.

Questions connexes