有没有办法在不删除表的情况下将列属性从unique=true
更改为unique=false
?
现在我陷入了早先创建表并且这些表也包含数据的情况。当我将unique=true
更改为unique=false
时,它不会在表格中进行任何更改。
答案 0 :(得分:0)
您可以在数据库中轻松完成此操作。假设我有一个表Person_name具有唯一约束的人。
ALTER TABLE Person
DROP INDEX Person_name;
or
ALTER TABLE Persons
DROP CONSTRAINT Person_name;
如果你尝试使用hibernate实现相同的功能,hibernate会尝试再次删除并创建表,这是你不希望发生的。
答案 1 :(得分:0)
嗯......我不知道你是否可以允许自己进行数据库删除,但是你可以尝试使用你的应用程序属性文件:
spring.jpa.hibernate.ddl-auto=update
或
spring.jpa.hibernate.ddl-auto=create-drop
了解更多信息:
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-database-initialization.html
此外,如果您知道数据库架构中会有很多更改,并且您希望使其易于工作,那么您应该熟悉 https://www.liquibase.org/