将数据库备份到SVN

时间:2010-11-11 06:31:44

标签: svn

我想开始进入整个SVN的事情......我有一个配备svn的mac服务器,但我确实有一个问题。

如果我放入我开发的网站,我明白必须添加文件,但是如何备份与网站相关的数据库呢?

如果有人能让我知道他们如何解决这个问题,那就太棒了。

干杯

3 个答案:

答案 0 :(得分:1)

我没有在版本控制系统中“备份”数据库。我使用“最佳实践”来备份数据库(对于不同的dbms,它是不同的)。有时这是一个简单的转储在cron上。其他时候我只是使用一种工具来管理它。

我签入并管理我的ddl SQL(架构)和dml SQL,用于将不变数据(静态数据)转换为vcs中的平面sql文件。我通常在与源代码相同的vcs中执行此操作,因此可以将它们一起版本化,并且我总是可以知道特定版本的架构是什么样的。

答案 1 :(得分:1)

这里的要点是,您不仅希望备份数据库模式和静态数据,还希望能够在给定的修订版本中重现模式的特定状态。

这是我使用的解决方案,它不是最好的,因为它需要你的勤奋,但它是一个简单而且运作良好的解决方案。

在名为“db”的子文件夹中,我有三个在SVN下版本化的文件:
- schema.sql
- start-data.sql
- incrementments.sql

如果有更大的更改或“标签”分支,我会重新导出架构和start-data并清空increments.sql。

当架构中发生微小变化时,我会将相应的查询添加到增量中。

这样我总能为每个给定的版本重现给定的DB状态。如果我不忘记修改增量,那就是。

答案 2 :(得分:0)

如何转储备份取决于您使用的数据库类型。对于mysql,您可以使用 mysqldump 命令将整个模式和数据转储到单个文件中。然后将此文件置于版本控制之下,并定期更新。

我不知道您的数据库的大小,但对于典型的wordpress / joomla / drupal站点,数据库的大小通常不够大,我不关心增量备份,只需每次都进行完全转储