我目前正在尝试确定如何通过 mercurial 提交挂钩应用 mysql 数据库补丁。基本上,我有一个传入的提交钩子指向我的搜索路径中的某个脚本。这一切都有效。我真正的问题是如何保留一系列 mysql alter table 语句,这些语句可以在我每次拉取时应用(传入的 mercurial 钩子),再次运行时不会出错。例如:
我在表中添加了一个新列。因此,在我的 altertables.sql 中,我添加了如下内容:
ALTER TABLE `thecompany_tbl` ADD `firstLogin` INT NOT NULL DEFAULT '1';
我第一次通过自动提交挂钩运行它。工作正常。下次我拉动时,它会再次尝试运行它,并产生如下内容:
#1060 - Duplicate column name 'firstLogin'
无论如何围绕这个?如果我可以保留一个包含所有更改的文件,然后在每次拉取时应用它,那就太好了。感谢您的任何建议!