diff --git a/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/DefaultMongoUpdaterProvider.java b/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/DefaultMongoUpdaterProvider.java index aa4130d80c..7b18863641 100755 --- a/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/DefaultMongoUpdaterProvider.java +++ b/model/mongo/src/main/java/org/keycloak/connections/mongo/updater/impl/DefaultMongoUpdaterProvider.java @@ -114,8 +114,11 @@ public class DefaultMongoUpdaterProvider implements MongoUpdaterProvider { List updatesToRun = getUpdatesToRun(executed); if (!updatesToRun.isEmpty()) { - String errorMessage = String.format("Failed to validate Mongo database schema. Schema needs updating database from %s to %s. Please change databaseSchema to 'update'", + String errorMessage = (executed.isEmpty()) + ? "Failed to validate Mongo database schema. Database is empty. Please change databaseSchema to 'update'" + : String.format("Failed to validate Mongo database schema. Schema needs updating database from %s to %s. Please change databaseSchema to 'update'", executed.get(executed.size() - 1), updatesToRun.get(updatesToRun.size() - 1).getId()); + throw new RuntimeException(errorMessage); } else { log.debug("Validation passed. Database is up to date");