【发布时间】:2010-11-29 18:26:51
【问题描述】:
我已经开始使用 Mercurial 对我的 Drupal 项目源文件进行版本控制(我既是 VCS 又是 Mercurial 新手)。然而,数据库仍然是“版本控制的”,使用一个日期为 .sql.gz 文件的目录。
我想要的是在我的存储库中的某处有一个单一的数据库转储文件,当数据库更改时将被当前转储文件覆盖,并在我想回滚到另一个版本时导入到数据库中。
我是手动完成的,而且效果很好。但我真正想要的是在每次提交/更新时自动进行转储/加载的东西。我真的更喜欢它会挂接到 Mercurial 中,而不是像 makefile 这样首先转储数据库然后提交的外部东西,因为我喜欢使用 TortoiseHg 的工具,而且我不想运行另一个脚本。
现在,在update 钩子上的mysql .... < dumpfile.sql 之类的东西似乎是在每次更新后加载数据库转储的简单方法。但是自动倾销呢?
关于 SVN 的 pre-commit 钩子有一个 similar question,接受的答案是这可能是个坏主意。它适用于 Mercurial 吗?也许另一个钩子 (prechangegroup?) 会起作用?
编辑:
我应该指出我自己在本地机器上使用它。它的规模不应超过单个用户。
【问题讨论】:
标签: version-control mercurial mercurial-hook