Summary: After upgrading Keycloak docker image version from 18.0.2 to 19.0.2 database auto migration does not take place and all the data post upgrade is still present in database but not visible in admin console.
Steps to reproduce:
- Start MySQL database and create user/database for Keycloak
- Start Keycloak version 18.0.2
docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin -e KC_DB_URL_HOST=mysql -e KC_DB_URL_PORT=3306 -e KC_DB_URL_DATABASE=keycloak_db -e KC_DB_USERNAME=mysql_user -e KC_DB_PASSWORD=mysql_password quay.io/keycloak/keycloak:18.0.2 start-dev
- Create realm ‘demo’ and add user ‘user@example.com’
- Stop Keycloak
- Start Keycloak 19.0.2
docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin -e KC_DB_URL_HOST=mysql -e KC_DB_URL_PORT=3306 -e KC_DB_URL_DATABASE=keycloak_db -e KC_DB_USERNAME=mysql_user -e KC_DB_PASSWORD=mysql_password quay.io/keycloak/keycloak:19.0.2 start-dev --spi-connections-jpa-default-migration-strategy=update
- See that migration is executed in the logs
INFO [org.keycloak.quarkus.runtime.storage.legacy.liquibase.QuarkusJpaUpdaterProvider] (main) Initializing database schema. Using changelog META-INF/jpa-changelog-master.xml
- Navigate to Admin Console - only master realm is available.
Is there some step that I am missing? Why I am unable to see realm created in previous version of Keycloak?