我目前正在开发团队使用MySql,Go和前端的自定义模板引擎构建网站。我们使用Git进行版本控制。
在我编辑模型结构时,我偶尔会对数据库结构进行重大更改(我们在这里仍处于早期阶段)。我们在Go代码中构建我们的模式,所以我需要做的就是删除我的数据库,应用程序将在启动时重新创建一个具有正确结构的新模式。
然而,我的队友并不一定知道db的这些重大变化。他们执行pull或submodule更新,大多数事情都可以正常工作,但是当他们移动到网站的特定部分或使用特定功能时,他们会收到奇怪的数据库错误(如图所示,对吧?)。
我想通过某种方式通知我的队友数据库结构发生了变化,并且他们需要重建它。我显然可以将这些信息放入提交消息中,但是每次拉动后他们都需要检查日志。
当用户提取/子模块更新/检出特定提交时,是否有任何方法可以在控制台中显示消息?
答案 0 :(得分:0)
您可以按照建议使用post-merge
挂钩,但是:
集中式方法可能是最好的,您可以:
DB Vxxx rebuilt
”创建新提交Vxxx
”的版本化文件,用于记忆或检测数据库的版本是否已更改pre-receive
挂钩,如果没有提交的提交包含“DB Vxxx rebuilt
”消息,并且匹配内容({{1},则所有开发人员都会拒绝其提交存储官方db版本的文件。这样,开发人员必须确保他/她的历史记录包括已经重建的数据库的跟踪,其版本与最后修改了所述数据库结构的人所存储的版本相匹配。