我最近学会了使用git,有一个很好的编辑器支持它,还有一个很好的钩子,可以在推送时将所有内容上传到实时站点。所以现在我有一个本地版本,一个开发测试版本和一个实时版本,一切都很棒。我无法找到的唯一问题是如何有效地在数据库之间同步MySQL结构。
我在扩展项目时经常遇到的两个场景是添加额外的列或创建新表。我经常通过phpmyadmin执行此操作,虽然我可以将给定的更改粘贴为SQL,但我努力寻求一种更有效的解决方案,而不是在3+存储库中复制粘贴。
目前这些是我考虑的方法,但我更喜欢效率更高的方法。
存储库:
将phpmyadmin生成的所有SQL命令复制/粘贴到每个项目的数据库中。
以某种方式(确实激励我)用一个数组填充一个php文件,其中包含来自phpmyadmin的所有生成的SQL命令,然后从钩子中执行该php文件。我将其中一个服务器存储库中的所有结构更改完成,并从本地获取并合并为live,更改MySQL结构。
通过MySQL的一些很好的解决方案,可以在服务器和本地工作。
感谢您的时间,如果您知道更好的方法,请分享!我正在寻找能够实现目标的自动解决方案。
答案 0 :(得分:1)
我意识到我使用的两个CodeIgniter似乎都有很好的方法来处理这个问题。不知道用Migration这个词搜索。
希望所有发现此问题的人都注意到这一点;关键字是数据库迁移以找到好的解决方案。
感谢关于指向哪里的评论。
答案 1 :(得分:1)
我也看到了很好的迁移:http://www.yiiframework.com/doc/guide/1.1/en/database.migration
如果CodeIgniter支持这样的东西 - 它也很好。是的 - 我看到它的支持:上下两个。
如果可以使用迁移的man知道编程语言 - 那么可以使用框架中的工具。如果没有 - 那么最好像http://www.liquibase.org/
那样使用xml / config