我正在开发一个网站。我有一个远程和本地副本,我在本地副本上进行开发,然后当我有了一个稳定的版本时,我会复制所有的PHP文件,然后我必须让远程实时MySQL数据库看起来像我的本地数据库。
我通常会删除远程实时数据库(只要不删除新的更改),然后使用PHPMyAdmin从.sql文件中重新导入它。
我想为我的数据库建立一个更可靠、正确、防白痴的版本更新系统。MySQL服务器复制是正确的答案吗?这通常是怎么做的?
不,您永远不希望开发/测试环境复制到活动数据库中。如果你不小心把一张桌子掉了,你会把现场清理干净的。
最好使用类似的东西http://www.mysqldiff.org/
可以说,最好的方法是迁移。迁移本质上是存储在应用程序中的代码,当数据库模式发生变化时,这些代码会更新数据库模式。迁移的好处是可以对它们进行版本控制,并且很容易将数据库模式中的更改与代码中的更改关联起来。如果使用正确,还可以使用迁移将数据库回滚到以前的任何状态。
例如,查看Yii框架中迁移的使用。