如何为数据库部署定义架构
how to define an architecture for a database deployment
Hy.
我正在构建一个软件,然后我将源代码部署到 3 个不同的 mysql 数据库(托管在 3 个不同的地方),我的问题是......有没有一种方法可以自动执行我所做的更改在其中一个数据库中给其他人???
有没有我可以使用的工具,这样我就不必手动更改所有数据库???
我建议为此使用 MySQL Workbench 以便您可以对模型进行任何更改,然后通过数据库菜单将更改与数据库同步。
如果您想要自动执行作业,您必须自己创建脚本工具并根据需要执行。但我现在看到的是你需要某种方式 Database Versioning.
一开始很难理解,但很容易深入挖掘。版本控制过程是:
- 基线:这是您的整个数据库 table 和一个脚本中的预定义记录。通常记录在1.0.0.sql或2.0.0.sql等主要版本上。基线只执行一次。
- 更新:这是一个 "patch" 用于您的 table 分开在每个 sql 脚本中。
- 视图、函数和过程:每个视图、函数和过程都在单独的 sql 文件中。
- schema_change_log:这个table记录基线版本并更新数据库中执行的补丁版本
发布步骤:
- 检查 schema_change_log
中的最新版本
- 获取大于最新版本的更新
- 执行更新脚本
- 删除所有视图、函数和过程
- 重新应用所有视图、函数和过程
Hy.
我正在构建一个软件,然后我将源代码部署到 3 个不同的 mysql 数据库(托管在 3 个不同的地方),我的问题是......有没有一种方法可以自动执行我所做的更改在其中一个数据库中给其他人???
有没有我可以使用的工具,这样我就不必手动更改所有数据库???
我建议为此使用 MySQL Workbench 以便您可以对模型进行任何更改,然后通过数据库菜单将更改与数据库同步。
如果您想要自动执行作业,您必须自己创建脚本工具并根据需要执行。但我现在看到的是你需要某种方式 Database Versioning.
一开始很难理解,但很容易深入挖掘。版本控制过程是:
- 基线:这是您的整个数据库 table 和一个脚本中的预定义记录。通常记录在1.0.0.sql或2.0.0.sql等主要版本上。基线只执行一次。
- 更新:这是一个 "patch" 用于您的 table 分开在每个 sql 脚本中。
- 视图、函数和过程:每个视图、函数和过程都在单独的 sql 文件中。
- schema_change_log:这个table记录基线版本并更新数据库中执行的补丁版本
发布步骤:
- 检查 schema_change_log 中的最新版本
- 获取大于最新版本的更新
- 执行更新脚本
- 删除所有视图、函数和过程
- 重新应用所有视图、函数和过程