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