PHP数据库同步

3
我有一个本地服务器,我在这里进行所有的测试和工作。完成后,我只需上传数据库模式以及相关代码即可。但是,当我对模式进行更改时就会出现问题。我必须手动在我的生产服务器上键入“alter table”查询。
有没有办法获取数据库模式中发生的增量更改,以便我可以只应用新的更改?或者我必须手动跟踪?
如果我使用mysqldump,则会生成最终数据库的模式(不包括alter table等)。
非常感谢。
5个回答

2
我将要上线的新代码和delta SQL脚本放在一起。我编写了所有的脚本,这样从版本X到版本Y的应用程序变更就是“自动”的。如果出现问题,有些人也会准备撤销脚本

1

将您在开发中所做的更改存储起来,作为一组测试这些更改并应用到生产环境中,如何?


0

0

看看 Liquibase。它是Java编写的,但它运行得相当不错。


0

MySQL Workbench 可以让你导出 ALTER 脚本(选择文件 -> 导出 -> 正向工程 SQL ALTER 脚本)。首先,你需要导入现有的数据库并对其进行修改。商业版本可以反向工程活动数据库,社区版则通过导入 CREATE 脚本来完成(这将是现有结构的简单转储)。或者,您可以使用 DBDesigner 4 反向工程现有数据库,将所有内容保存到 XML 模型文件中,然后导入,但您可能会失去默认字符集等东西...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接