Skip to content

Commit

Permalink
Display all validate messages in exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
DoodleBobBuffPants committed Nov 6, 2020
1 parent 7799789 commit e522169
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
4 changes: 2 additions & 2 deletions flyway-core/src/main/java/org/flywaydb/core/Flyway.java
Expand Up @@ -169,7 +169,7 @@ public MigrateResult execute(MigrationResolver migrationResolver,
ValidateResult validateResult = doValidate(database, migrationResolver, schemaHistory, schemas, callbackExecutor,
true);
if (!validateResult.validationSuccessful && !configuration.isCleanOnValidationError()) {
throw new FlywayValidateException(validateResult.errorDetails);
throw new FlywayValidateException(validateResult.errorDetails, validateResult.getAllErrorMessages());
}
}

Expand Down Expand Up @@ -271,7 +271,7 @@ public Void execute(MigrationResolver migrationResolver, SchemaHistory schemaHis
configuration.isIgnorePendingMigrations());

if (!validateResult.validationSuccessful && !configuration.isCleanOnValidationError()) {
throw new FlywayValidateException(validateResult.errorDetails);
throw new FlywayValidateException(validateResult.errorDetails, validateResult.getAllErrorMessages());
}

return null;
Expand Down
Expand Up @@ -23,8 +23,8 @@
*/
public class FlywayValidateException extends FlywayException {

public FlywayValidateException(ErrorDetails errorDetails) {
super("Validate failed: " + errorDetails.errorMessage, errorDetails.errorCode);
public FlywayValidateException(ErrorDetails errorDetails, String allValidateMessages) {
super("Validate failed: " + errorDetails.errorMessage + "\n" + allValidateMessages, errorDetails.errorCode);
}

}
Expand Up @@ -86,8 +86,9 @@ public ValidateResult createValidateResult(String databaseName, ErrorDetails val
String flywayVersion = VersionPrinter.getVersion();
boolean validationSuccessful = validationError == null;
String errorMessage = validationError == null ? null : validationError.errorMessage;
List<ValidateOutput> invalidMigrationsList = invalidMigrations == null ? new ArrayList<>() : invalidMigrations;

return new ValidateResult(flywayVersion, databaseName, validationError, validationSuccessful, validationCount, invalidMigrations, warnings, errorMessage);
return new ValidateResult(flywayVersion, databaseName, validationError, validationSuccessful, validationCount, invalidMigrationsList, warnings, errorMessage);
}

public RepairResult createRepairResult(String databaseName) {
Expand Down

0 comments on commit e522169

Please sign in to comment.