0
我需要使用JPA批註(@Entity)重命名映射到hibernate中的表。 如果我重命名該表,Hibernate將創建一個新表,因此我在flyway上編寫了一個腳本(https://flywaydb.org/),將其刪除並將其重命名爲新的表。更改休眠狀態下mysql的表名
問題是,如果我運行這個腳本兩次,它會丟棄數據庫重命名,失去所有數據。我想寫這樣的東西
DROP TABLE 'NEW_TABLE' IF 'OLD_TABLE' EXISTS;
RENAME TABLE 'OLD_TABLE' TO 'NEW_TABLE';
我不知道如何在MySql中做到這一點,這有可能嗎?
如果newName沒有被刪除,這會給出一個錯誤「Table'newName'already exists」。 Hibernate將在腳本運行前創建表(空) –
我編輯了我的答案,請嘗試我的解決方案,它應該可以工作。 – Harshal