1

我使用数据库开发项目,这些数据库被维护为 MySQL 工作台文件,这是一个二进制文件。由于您无法轻松区分提交之间的二进制文件,因此需要在提交之前更新该架构的 SQL 创建脚本。这样,您可以运行 SQL 文件的差异来查看发生了什么变化。

有时,人们要么忘记,要么变得懒惰,不更新 SQL 文件。如何使用 subversion 要求任何包含工作台文件的提交也必须包含 SQL 文件?

4

3 回答 3

2

您可以在服务器上编写 Hook Script 来满足此要求。

您可以使用 pre-commit-hook 来检查它是否包含工作台文件并检查它是否也包含 SQL 文件......如果不中止提交。

于 2011-09-15T14:48:43.520 回答
1

尽管 khmarbaise 的回答有效,但我建议您提供更好的解决方案。与其强迫开发人员编辑 SQL 文件,不如尝试自动更新它。这意味着在构建过程的一个步骤中(假设您有一个构建过程)检查 Workbench 文件,并在其更新的情况下自动更改您的 SQL 文件。

于 2011-09-15T19:21:39.793 回答
0

与您的问题不同,我发现工作台文件不是二进制文件。它们是包含 xml 格式的数据库架构的压缩文件。请参阅这两篇文章:是否可以将 MySQL Workbench 文件保存为纯 XML?压缩 xml 文件的 Subversion 差异

于 2011-09-16T06:26:52.013 回答