Я начал использовать Mercurial для управления версиями исходных файлов моего проекта в Drupal (я новичок в VCS и в Mercurial). Однако база данных по-прежнему «контролируется версией» с использованием каталога датированных файлов .sql.gz.
Я хочу, чтобы где-то в моем хранилище был один файл дампа базы данных, который был бы перезаписан текущим дампом при изменении базы данных и импортирован в базу данных, когда я хочу выполнить откат до другой версии.
Я сделал это вручную, и это сработало. Но то, что я действительно хотел бы, это то, что делает дамп / загрузку автоматически при каждом коммите / обновлении. Я действительно предпочел бы, чтобы он подключался к Mercurial, а не как что-то внешнее, например, make-файл, который сначала создает дамп базы данных, а затем фиксирует, поскольку мне нравится работать с инструментами TortoiseHg, и я не чувствую необходимости запуска другого сценария.
Теперь кажется, что что-то вроде mysql .... < dumpfile.sql
на хуке update
будет простым способом загрузить дамп базы данных после каждого обновления. Но как насчет автоматического сброса?
Был похожий вопрос о хуке SVN перед фиксацией, и был принят ответ, что это, вероятно, плохая идея. Это относится к Mercurial? Может быть, подойдет другой крючок (prechangegroup
?)?
EDIT:
Я должен указать, что я использую это сам, на моей локальной машине. Он не должен масштабироваться за пределы одного пользователя.