Описание структуры базы данных в исходниках проекта на java

Как в проекте на java описывать структуру базы данных? Хотелось бы, что бы структура базы данных являлась частью исходников. База данных не маленькая, на первом этапе будет >500 таблиц, со сложными связями. Кроме таблиц будут в базе будут хранимые процедуры, триггеры и т.д. Т.е. будут объекты, которые не описать просто классом, а нужно будет текст на sql. Описанием структуры буду заниматься разработчики, в том числе писать хранимые процедуры и триггера. Будет несколько групп, ответственные за разные части базы.

Хотелось бы инструмент, который позволит это все организовать. Он должен поддерживать генерацию общего sql на создание базы данных, поддерживать диалекты баз данных (mysql, postgresql), иметь средства для поддержки версионности базы данных, поддерживать генерацию всякого по описанной структуре базы данных (например документацию, классы).

Есть ли что то подобное в мире java? Или опять на коленках собирать? А если на коленках, что какие кирпичики посоветуете?


Ответы (1 шт):

Автор решения: cementovoz

Есть стандартные решения которые давно используются в мире Java

  • Liquibase
  • Flyway

они конечно покрывают не все запросы, но большенство

→ Ссылка