Автообновление локального репозитория при изменении схемы

Я знаю, что с помощью DataGrip можно создавать сценарии SQL на основе схемы базы данных (щелкните правой кнопкой мыши таблицу> SQL Scripts> SQL Generator). Однако есть ли способ заставить DataGrip автоматически обновлять эти сгенерированные сценарии SQL всякий раз, когда схема изменяется с помощью запросов (DDL) или пользовательского интерфейса (опция Modify Table)?

Прямо сейчас, если я хочу, чтобы мои файлы сценариев SQL находились под контролем версий и если я хочу, чтобы эти файлы отражали последнее состояние / схему моей базы данных, я должен:

  1. Вручную измените файл (ы).
  2. Скопируйте содержимое файла (запроса) и вставьте его в консоль в DataGrip.
  3. Запустите запрос из консоли, чтобы обновить схему базы данных.
  4. Если шаг 3 прошел успешно, зафиксируйте изменения в моем файле в моем локальном репозитории GIT. Если шаг 3 завершился неудачно, начните заново с шага 1.

Вместо этого я хочу:

  1. Внесите изменение схемы непосредственно в DataGrip с помощью запроса, параметра New > Create Table или Right click on the table > Modify Table.
  2. (Если шаг 1 прошел успешно). Будет показан набор изменений в самом DataGrip, и, щелкнув что-то вроде Save / Commit, измените соответствующие сценарии SQL в моем локальном репозитории и создайте новую фиксацию. Затем это запустит мой конвейер CI / CD для создания, тестирования и развертывания моей измененной схемы.

PS: Это похоже на то, что Red-Gate's _8 _ можно сделать в SQL Server Management Studio. К сожалению, у них нет плагина для DataGrip.


person Abhilash Kishore    schedule 16.07.2019    source источник
comment
Вы хотите, чтобы это происходило только через datagrip? Вместо этого вы можете написать сценарий оболочки для автоматизации этого процесса.   -  person Marlon Abeykoon    schedule 16.07.2019


Ответы (1)


Теперь DataGrip не может автоматически обновлять файлы SQL при изменении схемы. У нас есть идея реализовать это в будущем. Я думаю, что лучшим билетом для голосования будет: https://youtrack.jetbrains.com/issue/DBE-3852

В любом случае, ваш текущий алгоритм кажется не самым эффективным. Что бы я предложил:

  1. Откройте панель Файлы (Ctrl / Cmd + 1) и прикрепите туда папку со своими сценариями DDL.
  2. Свяжите эти файлы с необходимыми источниками данных через Настройки | База данных | Области разрешения SQL
  3. При желании установите плагин VCS для фиксации и отправки файлов только из DataGrip. Узнайте больше здесь: https://blog.jetbrains.com/datagrip/2018/06/01/tutorial-how-to-use-git-with-datagrip/
  4. Когда вы изменяете свои файлы, просто запускайте эти сценарии для нужных вам источников данных. Для этого также можно использовать контекстное меню:  введите описание изображения здесь
person moscas    schedule 18.07.2019