Po QuickStart na liquibase Utworzyłem changeset (bardzo głupi :))Jak pracować z liquibase, konkretny przykład
Kod:
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.6"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.6
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.6.xsd">
<changeSet id="1" author="me">
<createTable tableName="first_table">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)">
<constraints nullable="false"/>
</column>
</createTable>
<createTable tableName="new_table">
<column name="id" type="int">
<constraints primaryKey="true" nullable="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
I utworzeniu schematu i czyste Uruchomiłem polecenie migracji.
Liquibase utworzyło bazę danych, wraz z tabelami bazy danych supportchartog i ..lock.
Jak mogę śledzić zmiany? I zostały zmodyfikowane w changeset dodanie nowego elementu CreateTable ale gdy próbuję „Update” polecenia liquibase mówi mi to
Migration Failed: Validation Failed:
1 change sets check sum
więc nie sądzę, aby zrozumieli sposób do pracy z liquibase.
Ktoś może wskazać mi właściwy kierunek?
Dzięki
Często podczas opracowywania nowej aplikacji lub dodawania nowych funkcji należy zmodyfikować swój system db pod kątem wymagań lub błędów. W przypadku nowej aplikacji odwołałem się do ręcznie wykonywanego skryptu, aby usunąć wszystkie tabele i usunąć wszystko z tabeli DATABASECHANGELOG (i dla tabeli LOCK dla dokładnej miary). Możesz rozwinąć pojedynczą zmianę, usuwając jej rekord z tabeli zmian i odwijając jej zmianę za pomocą anty-kwerendy: usuń dodane tabele, zmodyfikuj tabele/kolumny z powrotem itp. Gdybym używał runOnChange od samego początku, spowodowałoby to cięcie mój plik migrationations.xml o 50% i zaoszczędzony dużo czasu. –
jeejava.com/spring-boot-liquibase-gradle-example/ – user3470953