5.5. 数据库架构初始化
当您将 SonataFlow
与 PostgreSQL 持久性搭配使用时,您可以通过启用 Flyway 来初始化数据库架构,或使用数据定义语言(DDL)脚本手动应用数据库架构更新。
Flyway 由 kie-addons-quarkus-flyway
运行时模块管理,它默认是禁用的。要启用 Flyway,您必须使用以下方法之一进行配置:
5.5.1. 工作流 ConfigMap 中的 Flyway 配置 复制链接链接已复制到粘贴板!
要在工作流 ConfigMap
中启用 Flyway,您可以添加以下属性:
在工作流 ConfigMap
中启用 Flyway 的示例
5.5.2. 使用工作流容器中的环境变量进行 Flyway 配置 复制链接链接已复制到粘贴板!
您可以使用以下示例在 SonataFlow
CR 的 spec.podTemplate.container
字段中添加环境变量来启用 Flyway :
使用工作流容器环境变量启用 Flyway 的示例
5.5.3. 使用 SonataFlowPlatform 属性进行 Flyway 配置 复制链接链接已复制到粘贴板!
要将通用 Flyway 配置应用到命名空间中的所有工作流,您可以将属性添加到 SonataFlowPlatform
CR 的 spec.properties.flow
字段中,如下例所示:
此配置在工作流部署期间应用。在部署工作流前,请确保设置了 Flyway 属性。
使用 SonataFlowPlatform
属性启用 Flyway 的示例
5.5.4. 使用 DDL 脚本初始化手动数据库 复制链接链接已复制到粘贴板!
如果您希望手动初始化,则必须通过确保 kie.flyway.enabled
属性没有配置或明确设置为 false
来禁用 Flyway。
- 默认情况下,每个工作流都使用与工作流名称相等的 schema 名称。确保为每个工作流手动应用模式初始化。
-
如果您使用
SonataFlow
自定义资源(CR)持久性配置,您可以指定自定义模式名称。
流程
- 从 kogito-ddl-9.102.0.redhat-00005-db-scripts.zip 位置下载 DDL 脚本。
- 提取文件。
运行位于目标 PostgreSQL 数据库的根目录中的
.sql
文件。确保文件按照版本号的顺序执行。例如:
-
V1.35.0__create_runtime_PostgreSQL.sql
-
V10.0.0__add_business_key_PostgreSQL.sql
V10.0.1__alter_correlation_PostgreSQL.sql
注意文件版本号不与 OpenShift Serverless Logic Operator 版本关联。
-