我最近学会了使用 git,有一个很好的支持它的编辑器,以及一个很好的钩子,可以在推送时将所有内容上传到实时站点。所以现在我有一个本地版本、一个开发测试版本和一个实时版本,一切都很精彩。我没有设法找到的唯一问题是关于如何在数据库之间有效地同步 MySQL 结构的一个很好的解决方案。
我在扩展项目时经常遇到的两种情况是添加额外的列或创建新表。我经常通过 phpmyadmin 执行此操作,虽然我可以将给定的更改复制粘贴为 SQL,但我努力寻求一种更有效的解决方案,而不是在 3 个以上的存储库中复制粘贴。
目前这些是我考虑的方法,但我更喜欢更有效的方法。
存储库:
- live - 服务器上的实时站点
- dev - 服务器上的开发站点
- local - 计算机上的本地站点
方法#1
将 phpmyadmin 生成的所有 SQL 命令复制/粘贴到每个项目的数据库中。
- 最终并不是一个真正有效的解决方案
方法#2
不知何故(启发我)用一个数组填充一个 php 文件,该数组中包含从 phpmyadmin 生成的所有 SQL 命令,然后从钩子中执行该 php 文件。我会在服务器的一个存储库中进行所有结构更改,并在从本地拉取并合并到 live 时,更改 MySQL 结构。
- 会很整洁,但不完全确定如何执行它
- 需要在 ubuntu 服务器和本地 wampserver 上工作
方法#3
通过 MySQL 的一些不错的解决方案,可以在服务器和本地工作。
- 不知道那将如何工作。
感谢您的宝贵时间,如果您知道更好的方法,请分享!我正在寻找一种有意义的自动解决方案。