From d97dbdac361fda2e30f83c60bb6db7d6c1c5e40a Mon Sep 17 00:00:00 2001 From: mposolda Date: Tue, 5 Apr 2016 15:35:37 +0200 Subject: [PATCH] KEYCLOAK-2737 Handle the databaseSchema: 'validate' against empty database --- .../mongo/updater/impl/DefaultMongoUpdaterProvider.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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");