如何通过命令行自动地将生产数据库模式从开发数据库模式升级?开发版本有对模式所做的更改需要在生产模式中进行,但我不能丢失生产数据。
如何通过命令行自动地将生产数据库模式从开发数据库模式升级?开发版本有对模式所做的更改需要在生产模式中进行,但我不能丢失生产数据。
现代项目大多使用工具来跟踪数据库的每个单独变化,并将某个版本号与变化相关联。数据库还必须有一些表来存储其当前版本。这样,该工具就可以查询当前版本并确定应用哪些(如果有)更改。
有几个免费的工具可以做到这一点,例如:
所有这些都要求您编写详细的代码文件以进行每个变化,随着开发的进行,关于创建模式更改代码的过程必须严谨。如果您一直没有遵循此过程,则很难逆向工程一个项目。
有像 mysqldbcompare 这样的工具,可以帮助您生成最小的 ALTER TABLE 语句以升级生产数据库。
还有一个名为 Shift 的较新的免费工具(我与创建它的工程师一起工作),它有助于自动化升级数据库的过程。它甚至提供了一个漂亮的 Web 界面,用于输入模式更改、将其作为在线更改运行并监视其进度。但是,使用此工具需要相当多的经验,我不建议初学者使用它。