| 開発者 | ネイサン・ヴォクスランド |
|---|---|
| 安定版リリース | 4.25.0 / 2023年11月13日[1] |
| リポジトリ | github.com/liquibase/liquibase |
| 書かれた | ジャワ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ソフトウェア開発 |
| ライセンス | Apache License 2.0、フリーミアム |
| Webサイト | 詳しくはこちら |
Liquibaseは、データベース スキーマの変更を追跡、管理、適用するためのオープン ソースのデータベースに依存しないライブラリです。特にアジャイル ソフトウェア開発環境 でデータベースの変更をより簡単に追跡できるようにするために 2006 年に開始されました。
概要
データベースへのすべての変更はテキスト ファイル ( XML、YAML、JSONまたはSQL ) に保存され、「id」タグと「author」タグの組み合わせ、およびファイル自体の名前によって識別されます。適用されたすべての変更のリストは各データベースに保存され、すべてのデータベース更新で参照されて、適用する必要がある新しい変更が決定されます。結果として、データベースのバージョン番号はありませんが、このアプローチにより、複数の開発者とコード ブランチがある環境で動作できます。
Liquibase は、changeLog ファイルを初めて実行したときに、DatabaseChangeLog テーブルと DatabaseChangeLogLock テーブルを自動的に作成します。
主な機能
主な機能の一覧は次のとおりです。
- 30以上の組み込みデータベースリファクタリング
- カスタム変更を作成するための拡張性
- データベースを現在のバージョンに更新する
- データベースへの最後のX件の変更をロールバックする
- データベースの変更を特定の日付/時刻にロールバックする
- データベースを「タグ」にロールバックする
- データベースの更新とロールバックのSQLを保存して手動で確認することができます
- スタンドアロン IDE およびEclipseプラグイン
- 実行する変更セットを含める/除外するための「コンテキスト」
- データベース差分レポート
- データベースの差分変更ログ生成
- 既存のデータベースを生成するための変更ログを作成する機能
- データベース変更ドキュメントの生成
- DBMS チェック、ユーザー チェック、SQL チェックの前提条件
- 変更ログを複数のファイルに分割して管理しやすくする機能
- コマンドライン、Apache Ant、Apache Maven、サーブレット コンテナ、またはSpring Framework経由で実行可能です。
- 10のデータベースシステムをサポート
商用版
Liquibase(旧称Datical)[2]は、Liquibaseプロジェクトへの最大の貢献者であると同時に、Liquibaseのコア機能に加えて追加機能を提供する商用製品であるLiquibase Enterprise [3]の開発元でもあります。
- 変更予測: 今後実行される変更を事前に予測し、その変更がデータにどのような影響を与えるかを判断します。[4]
- 企業標準とポリシーを施行するためのルールエンジン。[5]
- データベースのストアド ロジックをサポートします: 関数、ストアド プロシージャ、パッケージ、表スペース、トリガー、シーケンス、ユーザー定義型、シノニムなど。
- データベースの比較を使用すると、2 つのデータベース スキーマを比較して変更を識別し、それを変更ログに簡単に移動できます。
- 変更セット ウィザードを使用すると、データベースに依存しない方法でデータベースの変更を簡単に定義および取得できます。
- 論理的な展開ワークフローをモデル化および管理するための展開計画ウィザード
- Jenkins、Bamboo、UrbanCode、CA Release Automation (Nolio)、Serena Release Automation、BMC Bladelogic、Puppet、Chef、[6]およびSVN、Git、TFS、CVSなどの一般的なソース管理システムへのプラグイン。
Liquibase Enterprise (旧称 Datical DB) を含む Liquibase 製品は、アプリケーション リリース プロセスに携わる DBA、リリース マネージャー、DevOps チーム、アプリケーション所有者、アーキテクト、開発者によって使用されています。この製品は、エラーや遅延を排除し、迅速なアジャイル リリースを可能にするプログラム方式で、データベース スキーマの変更をアプリケーション コードとともに管理します。Liquibase の商用製品は、開発環境からテスト環境、運用環境へと進むアプリケーション バージョン間でデータ構造固有のコンテンツを管理するための Liquibase データ モデル アプローチに基づいています。Datical は、展開前にあらゆる環境でスキーマ変更の影響をプレビューするため、リスクが軽減され、よりスムーズで迅速なアプリケーション変更が可能になります。
Liquibase開発者のNathan VoxlandはLiquibase(旧Datical)の幹部である。[7]
Liquibase の変更ログ ファイルのサンプル
<?xml バージョン="1.0" エンコーディング="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。Liquibase。2023年 12 月 6 日閲覧。
- ^ 「Datical が Liquibase に改名。コミュニティのサポートを受けてオープンソースのルーツに戻る」2020 年 5 月 19 日。
- ^ 「Liquibase Enterprise」。Liquibase 。 2020年5月29日閲覧。
- ^ 「変更管理のためのデータベース予測ツール」。
- ^ 「Liquibase ルール」 。Liquibase。2020年 5 月 29 日閲覧。
- ^ 「当社のパートナー」 Liquibase . 2020年5月29日閲覧。
- ^ 「Liquibase Leadership」Liquibase . 2020年5月29日閲覧。
外部リンク
- 公式サイト
