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