2016-07-12 37 views
1

Ich habe ein changesetLiquibase Voraussetzungen Versagen benutzerdefinierte Fehlermeldung

<changeSet id="ABC123" author="davnicwil"> 
    <preConditions onFail="HALT"> 
    <sqlCheck expectedResult="3">SELECT count(*) FROM little_pigs</sqlCheck> 
    </preConditions> 
    <sql>DROP TABLE wolf</sql> 
</changeSet> 

Wenn es nur zwei Zeilen in little_pigs, schlägt es mit dieser Fehlermeldung

liquibase.exception.MigrationFailedException: 
    Migration failed for change set migrations.xml::ABC123::davnicwil: 
    Reason: 
     migrations.xml : SQL Precondition failed. Expected '3' got '2' 

ich einen sinnvollen Fehler möchte Nachricht, wie

liquibase.exception.MigrationFailedException: 
    Migration failed for change set migrations.xml::ABC123::davnicwil: 
    Reason: 
     3 little pigs are required to defeat the wolf 

gibt es irgendeine Art und Weise t o Konfigurieren Sie eine benutzerdefinierte Fehlermeldung wie folgt für die Vorbedingungen?

Eine statische Nachricht ist in Ordnung. Wenn eine dynamische Nachricht möglich ist, umso besser.

Antwort

1

Ich denke, dass

onFailMessage Custom message to output when preconditions fail. Since 2.0 

(http://www.liquibase.org/documentation/preconditions.html) ist, was Sie für die statische Nachricht benötigen. Ich habe nicht bekommen, was Sie für "dynamische Nachricht" erwarten, aber Sie können Ihre eigene Logik mit <customPrecondition>

+0

implementieren. Danke, das war's! Ich kann nicht glauben, dass ich das verpasst habe, ich muss diese Seite 5 Mal gelesen haben, bevor ich die Frage gestellt habe :-) – davnicwil