уникальное свойство столбца гибернации не изменяется - PullRequest
0 голосов
/ 18 мая 2018

Есть ли способ изменить свойство столбца с unique=true на unique=false без удаления таблицы?

Теперь я застрял в ситуации, когда таблицы были созданы ранее, и эти таблицы содержат данныетоже.Когда я изменил unique=true на unique=false, он не вносил никаких изменений в таблицу.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Хм ... Я не знаю, можете ли вы позволить себе сбросить базу данных, но вы можете попробовать в файле свойств вашего приложения использовать:

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/

0 голосов
/ 18 мая 2018

Вы можете легко сделать это в базе данных.Предположим, у меня есть таблица Person с Person_name, имеющая уникальное ограничение.

ALTER TABLE Person
DROP INDEX Person_name;

or

ALTER TABLE Persons
DROP CONSTRAINT Person_name;

Если вы попытаетесь добиться того же с помощью hibernate, hibernate попытается удалить и снова создать таблицу, чего вы не хотитеслучается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...