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