Pełna wersja changeloga liquibase:
```
databaseChangeLog:
- changeSet:
id: 013-property-room-association-table-remove-columns
author: rs
preConditions:
- onFail: MARK_RAN
- tableExists:
tableName: property_room_associations
- columnExists:
tableName: property_room_associations
columnName: roomid
- columnExists:
tableName: property_room_associations
columnName: propertyid
changes:
- sql:
sql: ALTER TABlE property_room_associations DROP COLUMN roomid
- sql:
sql: ALTER TABlE property_room_associations DROP COLUMN propertyid
- changeSet:
id: 013-property-room-change-association-table
author: rs
preConditions:
- onFail: MARK_RAN
- tableExists:
tableName: property_rooms
changes:
- sql:
sql: INSERT INTO property_room_associations(property_id, room_id) SELECT propertyentity_id, rooms_id FROM property_rooms
- sql:
sql: DROP TABLE property_rooms
```
pole rooms w klasie PropertyEntity, powinno mieć adnotację:
```
@JoinTable(
name = "property_room_associations",
joinColumns = {@JoinColumn(name = "property_id", referencedColumnName = "id")},
inverseJoinColumns = {@JoinColumn(name = "room_id", referencedColumnName = "id")}
)
```
HINT: przyjrzyj się changelog: 013-property-room-association-table-remove-columns, jego zadaniem w pierwszej kolejności jest sprawdzenie, czy może wykonać zmiany: preConditions, czy tabelka i kolumny istnieją, i tylko w tym przypadku wykonaj zapytania SQL
HINT: przyjrzyj się changelog: 013-property-room-change-association-table, podobna sytuacja jak poprzednio z preConditions
Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online
Strona www stworzona w kreatorze WebWave.