搜索

3.3. 迁移数据库

download PDF

红帽构建的 Keycloak 可以自动迁移数据库架构,也可以选择手动迁移它。默认情况下,在第一次启动新安装时,数据库会自动迁移。

3.3.1. 自动关系数据库迁移

要执行自动迁移,请启动连接到所需数据库的服务器。如果新服务器版本更改了数据库架构,则迁移会自动启动,除非数据库有太多记录。

例如,在具有数百万记录的表上创建索引可能非常耗时,并导致出现重大服务中断。因此,自动迁移存在 300000 记录阈值。如果记录数量超过这个阈值,则不会创建索引。反之,您可以使用 SQL 命令在服务器日志中找到一个警告,您可以手动应用。

要更改阈值,为默认的 connection- liquibase 供应商设置 index-creation- threshold 属性:

kc.[sh|bat] start --spi-connections-liquibase-default-index-creation-threshold=300000

3.3.2. 手动关系数据库迁移

要启用对数据库模式的手动升级,请将默认 connections-jpa 供应商的 migration-strategy 属性值设置为 "manual" :

kc.[sh|bat] start --spi-connections-jpa-quarkus-migration-strategy=manual

当您使用此配置启动服务器时,服务器会检查是否需要迁移数据库。所需的更改会被写入 bin/keycloak-database-update.sql SQL 文件,您可以检查并手动针对数据库运行。

要更改导出的 SQL 文件的路径和名称,请为默认 connection- jpa 供应商设置 migration- export 属性:

kc.[sh|bat] start --spi-connections-jpa-quarkus-migration-export=<path>/<file.sql>

有关如何将此文件应用到数据库的详情,请查看您的相关数据库文档。将更改写入文件后,服务器将退出。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.