【问题标题】:How to upgrade MySQL database schema?如何升级 MySQL 数据库架构?
【发布时间】:2017-11-08 03:00:03
【问题描述】:

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

【问题讨论】:

  • 有什么变化..?
  • 每次升级都不同,例如,某些列名不同,可能是新表,也可能是某些内容已更改。
  • @AndrewsBAnthony 我正在尝试编写一个脚本来自动化从开发到生产的迁移。
  • 为更改生成sql查询并将它们保存在prop文件/xml文件中并编写脚本以执行文件中的所有查询以在所有模式中一一执行...跨度>
  • @AndrewsBAnthony 我希望有一种更简单、更自动的方式,哈哈。

标签: mysql database-schema


【解决方案1】:

Schema Migrations

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

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

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

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

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

【讨论】:

    【解决方案2】:

    您也可以使用 MySQL WorkBench:https://dev.mysql.com/downloads/workbench/ 如果你想要一个简单的 GUI,并且跨操作系统兼容 ;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多