如何升级MySQL数据库架构?

时间:2017-11-08 03:00:04

标签: mysql database-schema

如何通过命令行自动从dev DB模式升级生产数据库模式? dev版本对生成模式中需要进行的模式进行了更改,但我不能丢失生产中的数据。

2 个答案:

答案 0 :(得分:1)

Schema Migrations

大多数现代项目使用工具跟踪对数据库的每个单独更改,并将某个版本号与更改相关联。数据库还必须有一些表来存储其当前版本。这样,该工具可以查询当前版本并确定要应用的更改(如果有)。

有几种免费工具可以做到这一点,例如:

所有这些都要求您在开发时为每个更改编写细致的代码文件。如果您没有一直遵循创建架构更改代码的过程,那么对项目进行逆向工程将很难。

mysqldbcompare这样的工具可以帮助您生成最小的ALTER TABLE语句来升级您的生产数据库。

还有一个名为Shift的新工具(我与创建它的工程师合作),这有助于自动化升级数据库的过程。它甚至提供了一个很好的Web界面,用于输入架构更改,将其作为在线更改运行,并监视其进度。但是使用这个工具需要相当多的经验,我不建议初学者使用它。

答案 1 :(得分:0)

您还可以使用MySQL WorkBench:https://dev.mysql.com/downloads/workbench/ 如果您想要一个简单的GUI,并且与OS兼容;)