2016-07-22 44 views
2

Ich habe zwei liquibase Kontext - Master und Test. Im Testkontext werden Testdaten in db eingefügt. Wenn ich Tests ausführen, verwenden alle Changesets. Und wenn ich app ausführen, nur Master Changesets verwenden.Wie kann ich Änderungssätze anderer Kontexte zurücksetzen?

Aber wenn ich App nach Tests ausführen, kann ich alle Daten in DB (Master und Test) sehen. Ich möchte Testwechselsets automatisch zurücksetzen, wenn ich App ausführen.

Wie kann ich das tun?

Antwort

0

Sie können den Befehl liquibase Rollback verwenden, um ChangeSets Ihres Testkontexts vor dem Ausführen der Anwendung rückgängig zu machen.

Ein Rollback oder ein anderer Liquibase-Befehl kann mit dem Befehlszeilendienstprogramm Ant oder Maven ausgeführt werden.

Sehen Sie ein Beispiel der Rollback Maven Goal mit:

mvn liquibase:rollback 
-Dliquibase.properties=./project.properties 
-Dliquibase.rollbackDate=2016-01-01 
-Dliquibase.contexts=test 

In diesem Fall habe ich die Rollback-Datum-Modus verwendet. Es wird alle Changesets, die nach dem 1. Januar 2016 ausgeführt wurden, zu einem Kontext mit dem Namen test zurückrollen.

+0

Zu spät, aber danke :) – z17