Как изменить схему базы данных для уже запущенного приложения Spring Hibernate - PullRequest
0 голосов
/ 06 мая 2020

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

1 Ответ

0 голосов
/ 07 мая 2020

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

  • добавить новый столбец: если столбец не допускает значения NULL вы должны либо включить ограничение not null после вставки данных, либо использовать фиктивное значение по умолчанию. Вы также можете удалить предложение по умолчанию после вставки хороших значений.

  • переключатель типа: если ваш поставщик db может выполнять приведение напрямую, все в порядке, но если вы получили ошибку, вы Если вы можете дать подсказку для кастинга, обратитесь к документации вашего поставщика баз данных. Например, Postgres предоставляет для этого ключевое слово USING. И последнее, если вы попробуете изменить тип столбца, служащего FK, вы должны удалить fk, переключить тип обоих столбцов и воссоздать fk.

Наконец, я бы посоветовал вам использовать базу данных инструмент миграции для обработки этих изменений. Например, с помощью такого инструмента, как Flyway.

...