Spring-Data-JPA ddl-авто разрешения - PullRequest
0 голосов
/ 30 октября 2019

Мой проект использует spring-data-jpa.

Компания оговаривает, что тестовая среда и созданная учетная запись базы данных среды имеют только права на чтение и запись.

Я обнаружил, что когда ddl-Для auto задано значение none, структура базы данных также изменилась, поскольку нет разрешения вызвать сбой службы при запуске. Как установить атрибут ddl-auto, чтобы программа не изменяла базу данных и не выполняла проверку?

spring-data-jpa document: https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-database-initialization

10.2. Инициализация базы данных с использованием Hibernate Вы можете явно установить spring.jpa.hibernate.ddl-auto, и стандартными значениями свойств Hibernate являются none, проверка, обновление, создание и создание-удаление. Spring Boot выбирает значение по умолчанию для вас в зависимости от того, считает ли он, что ваша база данных встроена. По умолчанию это создает-отбрасывание, если менеджер схемы не был обнаружен или нет во всех других случаях. Встроенная база данных обнаруживается при просмотре типа подключения. hsqldb, h2 и derby встроены, а другие нет. Будьте осторожны при переключении из оперативной памяти в «настоящую» базу данных, чтобы не делать предположений о существовании таблиц и данных на новой платформе. Вы должны либо явно установить ddl-auto, либо использовать один из других механизмов для инициализации базы данных.

1 Ответ

0 голосов
/ 30 октября 2019

spring.jpa.hibernate.ddl-auto=none

Стандартными значениями свойств Hibernate являются: создание, обновление, создание-удаление, проверка и отсутствие :

создание - Hibernate сначала удаляет существующие таблицы, затем создает новые таблицы.

update - объектная модель, созданная на основе сопоставлений (аннотаций или XML), сравнивается с существующей схемой, а затем обновляет Hibernate. схема по разн. Он никогда не удаляет существующие таблицы или столбцы, даже если они больше не требуются приложению.

create-drop - аналогично созданию, с добавлением, что Hibernate отбросит базу данных после всехОперации завершены. Обычно используется для модульного тестирования.

validate - Hibernate проверяет только наличие таблиц и столбцов, в противном случае выдает исключение.

none -это значение эффективно отключает генерацию DDL

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