3.3. データベースの移行
Red Hat build of Keycloak では、データベーススキーマを自動的に移行することも、手動で移行することもできます。デフォルトでは、新規インストールを初めて起動すると、データベースが自動的に移行されます。
データベースを移行する前に、古いバージョンの Red Hat build of Keycloak を実行しているすべての Red Hat build of Keycloak ノードをシャットダウンします。
デフォルトの H2 ベースの dev-file データベースタイプの場合、移行はサポートされていません。
3.3.1. リレーショナルデータベースの自動移行 リンクのコピーリンクがクリップボードにコピーされました!
自動移行を実行するには、目的のデータベースに接続されているサーバーを起動します。新しいサーバーバージョンでデータベーススキーマが変更すると、データベースのレコード数が多すぎない限り、移行が自動的に開始されます。
たとえば、数百万件のレコードを含むテーブルにインデックスを作成すると、時間がかかり、サービスの大きな中断を引き起こす可能性があります。したがって、自動移行には 300000 レコードのしきい値が存在します。レコード数がこのしきい値を超えると、インデックスは作成されません。代わりに、手動で適用できる SQL コマンドを含む警告がサーバーログに表示されます。
しきい値を変更するには、connections-liquibase プロバイダーの値である index-creation-threshold プロパティーを設定します。
kc.[sh|bat] start --spi-connections-liquibase--quarkus--index-creation-threshold=300000
この機能を無効にするには、値をゼロまたは負の数に設定します。
kc.[sh|bat] start --spi-connections-liquibase--quarkus--index-creation-threshold=0