mysql - 如何在 mysql schema 上进行协作?

标签 mysql database-design migration

我正在与另一位开发人员合作,我们正在共同构建一个 MySQL 数据库。我们每个人的开发机器上都有自己的 MySQL 5.1 本地实例。我们还无法找到一种方法来进行本地模式更改(例如:添加一个字段和该字段的一些值),然后导出其他人可以导入的某种脚本或 diff 文件我研究了 Toad 和 Navicat 的同步功能,但它们似乎面向两个实例之间的同步,而不是实例和中间文件之间的同步。我们认为 MySQL Workbench 会很棒,但同步功能似乎完全被破坏了。还有其他想法吗?您如何与其他人就架构进行协作?

最佳答案

首先将最终的 SQL 模式纳入版本控制。因此,您将始终拥有包含所有更改的版本。它可以是一个普通的 SQL 文件。团队中的每个开发人员都可以使用它作为创建自己的副本数据库的起点。所有更改都必须应用于它。这将帮助您更快地发现冲突。

我还使用这样的文件创建一个测试数据库,以便在每次提交后运行单元测试。因此我们始终确信生产代码可以正常工作。

然后您可以使用任何迁移工具在开发人员之间移动更改。这是关于此的类似问题:

如果您使用 PHP,请查看 Doctrine迁移。

关于mysql - 如何在 mysql schema 上进行协作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1842108/

相关文章:

mysql - 对值表中的序列建模的好方法是什么?

php - vb.net通过php向mysql数据库添加文本

mysql - GROUP_CONCAT 与 LEFT JOIN 条件?

mysql - 梦幻联盟的数据库设计

php - 匹配 MySQL JSON 列的全部内容

django - 迁移 Django 中的用户组和权限?

ruby-on-rails - 具有相同名称的 Rails 迁移

svn - 将Subversion存储库转换为Mercurial

php - 数据库结构,Eav模型,搜索查询太慢

mysql - 无效操作异常未处理 - 无法同时更新 2 个内容