Перейти до головної папки проекту /envers_audit і виконати накатку на БД:
mvn -e org.liquibase:liquibase-maven-plugin:update -Dliquibase.driver=org.postgresql.Driver -Dliquibase.promptOnNonLocalDatabase=false -Dliquibase.propertyFile=src/main/resources/database/liquibase.properties -Dliquibase.username=liquibase -Dliquibase.password=liquibase -Dliquibase.url=jdbc:postgresql://localhost:5432/structural
Буде створена схема, таблиці та буде додано одного клієнта John id=c2d29867-3d0b-d497-9191-18a9d8ee7830
PUT запит http://localhost:8080/customer/c2d29867-3d0b-d497-9191-18a9d8ee7830/name/Bill
В результаті, John буде перейменований на Bill. В логах при кожній операції буде виведена повна історія змін даного клієнта.
Можна додавати більше полів до таблиці customer
. Аби зміни в цих полях відстежувалися, також додаємо їх до таблиці customer_audit
(клас CustomerHistory
).
На даний момент додано відстежувані поля name
та city
, і невідстежуване поле age
. При оновленні age
не створюються записи у таблицях customer_audit
та revision_info
Реалізовано такі запити:
POST http://localhost:8080/customer
Тіло запиту:
{ "name": "Jane", "age": "33", "city": "Kyiv" }
DELETE http://localhost:8080/customer/c2d29867-3d0b-d497-9191-18a9d8ee7830
PUT http://localhost:8080/customer/c2d29867-3d0b-d497-9191-18a9d8ee7830/name/Bill
PUT http://localhost:8080/customer/c2d29867-3d0b-d497-9191-18a9d8ee7830/city/Odesa
PUT http://localhost:8080/customer/c2d29867-3d0b-d497-9191-18a9d8ee7830/age/10