/ / použitie Liquibase na existujúcej schéme -

používanie kvapaliny na existujúcom schéme - liquibase

Čítal som o tom, ako môžete generovať changelog.xml z existujúcej schémy. To je v poriadku, ale mám existujúce systémy, ktorých sa nechcem dotknúť, okrem toho, že prinášam nové zmeny. Mám tiež úplne nové systémy, ktoré si vyžadujú všetky zmeny.

Takže chcem, aby Liquibase fungovala ibamigrácie zo sady zmien X pri spustení v existujúcom systéme. Tj. že systémová DB je v revízii X-1 (ale bez tabuliek sys- témov Liquibase) a ja nechcem použiť žiadne predchádzajúce migrácie.

Veľká vďaka, poklepať

odpovede:

2 pre odpoveď č. 1

Myslím si, že najjednoduchšie by bolo najskôr vykonať počiatočné nastavenie na prázdnej databáze a exportovať vstupnú (-é) tekutinu do vloženej DATABASECHANGELOG stôl. Potom tieto položky exportujem a vložím ich ručne do jednej z cieľových databáz do ich DATABASECHANGELOG tabuľky, takže tam Liquibase už nevykonáva „zmenu“.

Samozrejme by som to všetko otestoval pomocou testovacích skládok na testovacom stroji ... :)


14 pre odpoveď č. 2

Ako som už uviedol, odporúčam trochu odlišný prístup Vlákno fóra Liquibase

  1. vygenerujte changelog z existujúcej schémy. Liquibase CLI to dokáže za vás. Výsledný XML zvyčajne zoberiem a trochu ho vyhladím (zmeny v skupinách spojené do jednotlivých changelogov, vyčistenia špecifické pre dodávateľa atď.), Ale Liquibase robí väčšinu práce na nohách.

  2. spustiť tento changelog oproti existujúcej databáze (changelogSync príkaz), ale označí sa iba ako použitá (bez skutočnej úpravy schémy).

  3. od tej chvíle používať Liquibase na aplikáciu nových zmien.