Обновить

Data as Code на практике: создаём, версионируем и делимся модулями БД с помощью ArchDB

Уровень сложностиСредний
Время на прочтение30 мин
Охват и читатели6K
Всего голосов 3: ↑3 и ↓0+3
Комментарии4

Комментарии 4

Спасибо за статью, не смотря на то что от нее прям разит ИИ генерацией было интересно. Основной вопрос, а что с генерацией скриптов миграции на основании изменения модели в ArchDB?

Добрый день, основной инструмент:

  1. Может показаться странным, но только на первый взгляд, спецификация - https://gitverse.ru/andrbars/ArchDB/content/master/spec/ArchDB_rus.html

  2. Плагин для IntelliJ IDEA / OpenIDE / GigaIDE - https://gitverse.ru/andrbars/ArchDB/releases:

    1. для генерации диаграмм через контекстное меню в редакторе файла ArchDB;

    2. для встраивания в документацию AsciiDoc диаграмм и табличного описания шаблонов и таблиц, смотрите приложение D спецификации или ждите следующей стать ))

  3. Для сценария реверс-инжиниринга существующей БД в модель ArchDB - LLM, например https://chat.deepseek.com/. Последовательность такая:

    1. выгружаете DDL-скрипт из БД;

    2. пишите простой промпт для конвертации DDL-скрипта в модель ArchDB;

    3. к промпту прикладываете DDL-скрипт и спецификацию ArchDB, которая внутри содержит описание формальной грамматики и примеры;

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

  4. Для сценария прямой генерации DDL / Liquibase - LLM:

    1. пишите простой промпт для конвертации модели ArchDB в DDL-скрипт для СУБД PostgreSQL (например);

    2. или пишите простой промпт для конвертации модели ArchDB в скрипт Liquibase для СУБД PostgreSQL (например).

  5. Для сценария генерации изменений DDL / Liquibase - LLM:

    1. выгружаете DDL скрипт из БД (это может быть необязательным шагом, если у вас есть скрипт в системе контроля версий);

    2. пишите простой промпт для создания скрипта обновления по текущему состоянию модели ArchDB и текущему DDL-скрипту для БД PostgreSQL (например);

    3. или пишите простой промпт для создания скрипта обновления по текущему состоянию модели ArchDB и текущему скрипту Liquibase для СУБД PostgreSQL (например).

Опыт показал, что Deepseek уверенно справляется с перечисленными выше сценариями. Дорабатывать плагин для генерации скриптов создания БД с нуля и тем более для обновления БД не имеет большого смысла.

Статья и все диаграммы сделаны с помощью AsciiDoc и плагина ArchDB:

Выглядит круто. Но нужна же техническая обвязка - все эти генераторы DDL, ORM, etc. Это реализовано уже в каком-то виде? в затравке про следующую серию об этом ни слова =(

Если каждый будет писать свои генераторы, кажется, будет грустно.

Добрый день, в дополнение в предыдущему комментарию могу сказать, что есть смысл интегрировать в процесс сборки для генерации java-кода.

А следующая статья про использование плагина ArchDB для редактирования файлов модели ArchDB и документирования аналитики и/или архитектуры.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации