Mar*_*rco 5 postgresql docker keycloak
我正在尝试使用 Keycloak 的 Docker 映像,但我似乎无法为 PostgreSQL 中创建的表设置架构。
目前,所有表最终都在公共模式中。有没有一种方法可以指示 Keycloak 在模式内创建表?
您应该能够POSTGRES_DATABASE为数据源指定环境变量:
docker ... -e POSTGRES_DATABASE=<your_database_name> ...
默认情况下,它应该使用数据库名称'keycloak',所以你看不到这一点很奇怪:
/subsystem=datasources/data-source=KeycloakDS: add(jndi-name=java:jboss/datasources/KeycloakDS,enabled=true,use-java-context=true,use-ccm=true, connection-url=jdbc:postgresql://${env.POSTGRES_ADDR:postgres}:${env.POSTGRES_PORT:5432}/${env.POSTGRES_DATABASE:keycloak}, driver-name=postgresql)
Run Code Online (Sandbox Code Playgroud)
更新
抱歉,我明白你的意思。在这种情况下,我认为您必须在数据库中手动创建架构,然后更新standalone.xml以使用您的架构:
<spi name="connectionsJpa">
<provider name="default" enabled="true">
<properties>
<property name="dataSource" value="java:jboss/datasources/KeycloakDS"/>
<property name="initializeEmpty" value="true"/>
<property name="migrationStrategy" value="update"/>
<property name="migrationExport" value="${jboss.home.dir}/keycloak-database-update.sql"/>
<property name="schema" value="your_schema"/>
</properties>
</provider>
</spi>
Run Code Online (Sandbox Code Playgroud)
他们似乎不支持自动架构创建,因此您可能必须提交功能请求。
| 归档时间: |
|
| 查看次数: |
10212 次 |
| 最近记录: |