2010-11-11 81 views
1

我想开始进入这整个SVN的东西......我有一个与svn一起发布的mac服务器,但我有一个问题。备份一个数据库到SVN

如果即时进入我开发的网站,我明白这些文件必须添加,但是如何备份与该网站相关的数据库?

如果有人能让我知道他们如何去做这件事,那会很棒。

干杯

回答

1

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

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

在一个叫子 “DB” 我这是SVN版本下的三个文件:
- schema.sql文件
- 启动data.sql
- increments.sql

当有更大的变化或“标签”分支,我采用新的模式导出和开始数据,并清空增量.sql。

当模式发生小的变化时,我将相应的查询添加到增量中。

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

1

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

我做检查和管理我的DDL SQL(模式)和dml SQL的不变数据(静态数据)到VCS中的平面SQL文件。我通常在与源代码相同的vcs中执行此操作,以便它们可以一起进行版本化,并且我始终可以知道特定修订的模式。

0

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

我不知道你的数据库的大小,但是对于一个典型的wordpress/joomla/drupal站点来说,数据库的大小通常不够大,我会关心增量备份,每次只做一次完整的转储时间。