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

31 Epik - Wynajem Pokoju - III

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.