Ликвибаза
Эта статья нуждается в дополнительных цитатах для проверки . ( ноябрь 2014 г. ) |
![]() | |
Разработчик(и) | Натан Воксленд |
---|---|
Стабильная версия | 4.25.0
/ 13 ноября 2023 г [ 1 ] |
Репозиторий | github |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Тип | Разработка программного обеспечения |
Лицензия | Лицензия Apache 2.0 , бесплатная версия |
Веб-сайт | www |
Liquibase — это независимая от базы данных библиотека с открытым исходным кодом для отслеживания, управления и применения изменений схемы базы данных. Он был запущен в 2006 году, чтобы упростить отслеживание изменений в базе данных, особенно в гибкой среде разработки программного обеспечения .
Обзор
[ редактировать ]Все изменения в базе данных сохраняются в текстовых файлах ( XML , YAML , JSON или SQL ) и идентифицируются комбинацией тегов «id» и «author», а также именем самого файла. Список всех примененных изменений хранится в каждой базе данных, и при всех обновлениях базы данных он проверяется, чтобы определить, какие новые изменения необходимо применить. В результате номер версии базы данных отсутствует, но такой подход позволяет ей работать в средах с несколькими разработчиками и ветками кода.
Liquibase автоматически создает таблицу DatabaseChangeLog и таблицу DatabaseChangeLogLock при первом выполнении файла журнала изменений.
Основная функциональность
[ редактировать ]Ниже приведен список основных функций:
- Более 30 встроенных рефакторингов баз данных.
- Расширяемость для создания пользовательских изменений
- Обновить базу данных до текущей версии
- Откат последних X изменений в базе данных
- Откат изменений базы данных на определенную дату/время
- Откатить базу данных до «тега»
- SQL для обновлений и откатов баз данных можно сохранить для просмотра вручную.
- Автономный IDE и Eclipse плагин
- «Контексты» для включения/исключения наборов изменений для выполнения
- Отчет о различиях в базе данных
- Создание журнала изменений базы данных
- Возможность создания журнала изменений для создания существующей базы данных.
- Формирование документации по изменениям базы данных
- Предварительные условия проверки СУБД, проверки пользователя и проверки SQL
- Возможность разделить журнал изменений на несколько файлов для упрощения управления.
- Выполняется через командную строку, Apache Ant , Apache Maven , контейнер сервлетов или Spring Framework .
- Поддержка 10 систем баз данных
Коммерческая версия
[ редактировать ]Liquibase (ранее Datical) [ 2 ] является одновременно крупнейшим участником проекта Liquibase и разработчиком Liquibase Enterprise. [ 3 ] – коммерческий продукт, который обеспечивает основную функциональность Liquibase, а также дополнительные функции.
- Прогнозирование изменений: прогнозируйте предстоящие изменения, которые будут выполнены, до их запуска, чтобы определить, как эти изменения повлияют на ваши данные. [ 4 ]
- Rules Engine для обеспечения соблюдения корпоративных стандартов и политик. [ 5 ]
- Поддерживает хранимую логику базы данных: функции, хранимые процедуры, пакеты, табличные пространства, триггеры, последовательности, определяемые пользователем типы, синонимы и т. д.
- Сравнение баз данных позволяет сравнивать две схемы баз данных, чтобы выявить изменения и легко перенести их в журнал изменений.
- Мастер набора изменений позволяет легко определять и фиксировать изменения базы данных нейтральным для базы данных способом.
- Мастер плана развертывания для моделирования и управления рабочим процессом логического развертывания.
- Плагины для Jenkins , Bamboo, UrbanCode, CA Release Automation (Nolio), Serena Release Automation, BMC Bladelogic, Puppet , Chef , [ 6 ] а также все популярные системы контроля версий, такие как SVN , Git , TFS, CVS и т. д.
Продукты Liquibase, включая Liquibase Enterprise (ранее известное как Datical DB), используются администраторами баз данных, менеджерами релизов, командами DevOps, владельцами приложений, архитекторами и разработчиками, участвующими в процессе выпуска приложений. Он управляет изменениями схемы базы данных вместе с кодом приложения программным способом, что исключает ошибки и задержки и обеспечивает быстрый выпуск Agile-версий. Коммерческие продукты Liquibase основаны на подходе модели данных Liquibase для управления контентом, специфичным для структуры данных, в разных версиях приложений по мере их перехода от среды разработки к среде тестирования и к производственной среде. Datical предварительно анализирует влияние изменений схемы в любой среде перед развертыванием, что снижает риск и приводит к более плавному и быстрому изменению приложений.
Разработчик Liquibase Натан Воксланд является руководителем компании Liquibase (ранее Datical). [ 7 ]
Пример файла журнала изменений Liquibase
[ редактировать ]<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.3
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.3.xsd">
<preConditions>
<dbms type="oracle"/>
</preConditions>
<changeSet id="1" author="author1">
<createTable tableName="persons">
<column name="id" type="int" autoIncrement="true">
<constraints primaryKey="true" nullable="false"/>
</column>
<column name="name" type="varchar(50)"/>
</createTable>
</changeSet>
<changeSet id="2" author="author2" context="test">
<insert tableName="persons">
<column name="id" value="1"/>
<column name="name" value="Test1"/>
</insert>
<insert tableName="persons">
<column name="id" value="2"/>
<column name="name" value="Test2"/>
</insert>
</changeSet>
</databaseChangeLog>
Сопутствующие инструменты
[ редактировать ]Ссылки
[ редактировать ]- ^ «Загрузки Liquibase» . liquibase.com . Ликвибаза . Проверено 6 декабря 2023 г.
- ^ «Datical теперь называется Liquibase; компания возвращается к своим корням с открытым исходным кодом при поддержке сообщества» . 19 мая 2020 г.
- ^ «Ликвибаз Энтерпрайз» . Ликвибаза . Проверено 29 мая 2020 г.
- ^ «Инструменты прогнозирования баз данных для управления изменениями» .
- ^ «Правила жидкой базы» . Ликвибаза . Проверено 29 мая 2020 г.
- ^ «Наши партнеры» . Ликвибаза . Проверено 29 мая 2020 г.
- ^ «Ликвибазное лидерство» . Ликвибаза . Проверено 29 мая 2020 г.