Hi,
I successfully upgraded from 1.7.0
to 1.8.0, however, seeing the following
error when attempting to upgrade from 1.8.0
to either 1.8.1 or 1.9.0:
22:45:48,803 ERROR
[org.keycloak.services.resources.KeycloakApplication]
(ServerService Thread Pool -- 51) Failed
to migrate datamodel:
java.lang.RuntimeException: Failed to
update database
at
org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.update(LiquibaseJpaUpdaterProvider.java:87)
at
org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.lazyInit(DefaultJpaConnectionProviderFactory.java:153)
at
org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:42)
at
org.keycloak.connections.jpa.DefaultJpaConnectionProviderFactory.create(DefaultJpaConnectionProviderFactory.java:30)
at
org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:103)
at
org.keycloak.models.jpa.JpaRealmProviderFactory.create(JpaRealmProviderFactory.java:34)
at
org.keycloak.models.jpa.JpaRealmProviderFactory.create(JpaRealmProviderFactory.java:16)
at
org.keycloak.services.DefaultKeycloakSession.getProvider(DefaultKeycloakSession.java:103)
at
org.keycloak.models.cache.infinispan.DefaultCacheRealmProvider.getDelegate(DefaultCacheRealmProvider.java:61)
at
org.keycloak.models.cache.infinispan.DefaultCacheRealmProvider.getMigrationModel(DefaultCacheRealmProvider.java:43)
at
org.keycloak.migration.MigrationModelManager.migrate(MigrationModelManager.java:21)
at
org.keycloak.services.resources.KeycloakApplication.migrateModel(KeycloakApplication.java:139)
at
org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:82)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at
org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150)
at
org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2209)
at
org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:299)
at
org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:240)
at
org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:113)
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
at
io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
at
org.wildfly.extension.undertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78)
at
io.undertow.servlet.core.LifecyleInterceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
at
io.undertow.servlet.core.ManagedServlet$DefaultInstanceStrategy.start(ManagedServlet.java:231)
at
io.undertow.servlet.core.ManagedServlet.createServlet(ManagedServlet.java:132)
at
io.undertow.servlet.core.DeploymentManagerImpl.start(DeploymentManagerImpl.java:526)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:101)
at
org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at
java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at
java.lang.Thread.run(Thread.java:745)
at
org.jboss.threads.JBossThread.run(JBossThread.java:320)
Caused
by: liquibase.exception.DatabaseException:
Incorrect database name '' [Failed SQL:
CREATE TABLE ``.DATABASECHANGELOG (ID
VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255)
NOT NULL, FILENAME VARCHAR(255) NOT NULL,
DATEEXECUTED datetime NOT NULL,
ORDEREXECUTED INT NOT NULL, EXECTYPE
VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35)
NULL, DESCRIPTION VARCHAR(255) NULL,
COMMENTS VARCHAR(255) NULL, TAG VARCHAR(255)
NULL, LIQUIBASE VARCHAR(20) NULL, CONTEXTS
VARCHAR(255) NULL, LABELS VARCHAR(255)
NULL)]
at
liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:316)
at
liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55)
at
liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:122)
at
liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:112)
at
liquibase.changelog.StandardChangeLogHistoryService.init(StandardChangeLogHistoryService.java:214)
at
liquibase.Liquibase.checkLiquibaseTables(Liquibase.java:1074)
at
liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:1136)
at
liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:1126)
at
liquibase.Liquibase.listUnrunChangeSets(Liquibase.java:1122)
at
org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider.update(LiquibaseJpaUpdaterProvider.java:63)
...
36 more
Caused
by:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
Incorrect database name ''
at
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at
java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at
com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
at
com.mysql.jdbc.Util.getInstance(Util.java:360)
at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978)
at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887)
at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823)
at
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
at
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
at
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)
at
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
at
com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:848)
at
com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:742)
at
org.jboss.jca.adapters.jdbc.WrappedStatement.execute(WrappedStatement.java:198)
at
liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:314)
...
45 more
Any ideas as to the potential
cause/resolution?
The MySQL datasource is configured
as follows:
<datasource jta="true"
jndi-name="java:jboss/datasources/KeycloakDS"
pool-name="KeycloakDS" enabled="true"
use-java-context="true">
<connection-url>jdbc:mysql://localhost:3306/keycloak</connection-url>
<connection-property
name="defaultFetchSize">
1000
</connection-property>
<driver>mysql</driver>
<pool>
<max-pool-size>20</max-pool-size>
</pool>
<security>
<user-name>keycloak</user-name>
<password>keycloakrocks!</password>
</security>
<timeout>
<set-tx-query-timeout>true</set-tx-query-timeout>
</timeout>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements>true</share-prepared-statements>
</statement>
</datasource>
<drivers>
<driver name="mysql"
module="com.mysql.jdbc">
<xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
<datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlDataSource</datasource-class>
</driver>
.
.
.
</drivers>
Any help would be much
appreciated.
Thank-you in advance,
Darcy Welsh
_______________________________________________
keycloak-user mailing list
keycloak-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-user