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