我需要使用JPA注释(@Entity)重命名在hibernate中映射的表。 如果我重命名该表,Hibernate将创建一个新表,所以我在flyway(https://flywaydb.org/)上编写了一个脚本,删除它并将旧的重命名为新的。
问题是,如果我运行此脚本两次,它将删除重命名的数据库,丢失所有数据。我想写这样的东西
DROP TABLE 'NEW_TABLE' IF 'OLD_TABLE' EXISTS;
RENAME TABLE 'OLD_TABLE' TO 'NEW_TABLE';
我不知道如何在MySql中执行此操作,是否可能?
答案 0 :(得分:0)
如果我正确理解您的问题,请创建一个名为newName的新表并执行以下语句。它的作用是刷新表名并在数据库外部执行,然后将实体名称更改为newName。只有在那之后才开始运行你的项目。 这对你有用:
RENAME TABLE `oldName` TO `newName`