библиотека Java для поддержания структуры базы данных - PullRequest
10 голосов
/ 31 мая 2011

Мое приложение всегда разрабатывается, поэтому время от времени - при обновлении версии - необходимо создавать / изменять / удалять некоторые таблицы, изменять некоторые данные и т. Д. Обычно необходимо выполнить некоторый SQL-код.

Существует ли библиотека Java, которую можно использовать для поддержания структуры моей базы данных в актуальном состоянии (путем анализа чего-то вроде «db structure version» информации и выполнения пользовательских sql-кодов для обновления из одной версии в другую) )

Также было бы здорово иметь некоторые базовые действия (например, добавить / удалить столбец), готовые к использованию с минимальной конфигурацией, например, имя / тип и без кода SQL.

Ответы [ 6 ]

3 голосов
/ 31 мая 2011

Попробуйте DBDeploy . Хотя я не использовал его в прошлом, похоже, этот проект поможет в вашем случае. DBDeploy - менеджер рефакторинга базы данных , который :

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

Известно, что он интегрируется как с Муравьем, так и с Мавеном.

3 голосов
/ 31 мая 2011

Попробуйте Liquibase .

Liquibase - это независимая от базы данных библиотека с открытым исходным кодом (Apache 2.0 Licensed) для отслеживания, управления и применения изменений в базе данных.Он основан на простом предположении: все изменения в базе данных хранятся в удобочитаемой, но отслеживаемой форме и проверяются в системе контроля версий.

Поддерживаемые функции:

  • Расширяемость
  • Объединение изменений от нескольких разработчиков
  • Ветви кода
  • Несколько баз данных
  • Управление производственными данными, а также различными наборами тестовых данных
  • Обновления базы данных, безопасные для кластеров
  • Автоматические обновления или генерация сценариев SQL, которые могут быть утверждены и применены администратором базы данных
  • Откат обновления
  • База данных ”diff“ s
  • Создание начальных журналов изменений изсуществующие базы данных
  • Создание документации по изменениям базы данных
2 голосов
/ 31 мая 2011

Для этого мы используем программу под названием Liquibase . Он очень гибкий, и вы можете настроить его так, как хотите. Мы интегрировали его с Maven, поэтому наша база данных всегда актуальна.

1 голос
/ 21 января 2015

Вы также можете проверить Flyway (400 вопросов с тегом SOW) или mybatis (1049 вопросов с тегом). Чтобы добавить к сравнению другие упомянутые опции: Liquibase (663 вопроса с тегами) и DBDeploy (24 вопроса с тегами).

Еще один полезный ресурс - это сравнение функций на веб-сайте Flyway (там упоминаются и другие связанные проекты).

0 голосов
/ 31 мая 2011

Большинство картографов ORM имеют логику для обновления схемы, я успешно использовал Hibernate , который автоматически получает хотя бы базовые вещи.

0 голосов
/ 31 мая 2011

Вам следует взглянуть на библиотеки OR Mapping, например, Hibernate

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