Liquibase - Liquibase

Liquibase
Geliştirici (ler)Nathan Voxland
Kararlı sürüm
3.9.0 / 14 Mayıs 2020; 6 ay önce (2020-05-14)[1]
YazılmışJava
İşletim sistemiÇapraz platform
TürYazılım geliştirme
LisansApache Lisans 2.0
İnternet sitesihttp://www.liquibase.org/

Liquibase bir açık kaynak Veritabanı şema değişikliklerini izlemek, yönetmek ve uygulamak için veritabanından bağımsız kitaplık. Özellikle veri tabanı değişikliklerinin daha kolay izlenmesini sağlamak için 2006 yılında başlatılmıştır. Çevik Yazılım Geliştirme çevre.

Genel Bakış

Veritabanındaki tüm değişiklikler metin dosyalarında saklanır (XML, YAML, JSON veya SQL ) ve bir "id" ve "yazar" etiketinin yanı sıra dosyanın adıyla tanımlanır. Uygulanan tüm değişikliklerin bir listesi, hangi yeni değişikliklerin uygulanması gerektiğini belirlemek için tüm veritabanı güncellemelerinde başvurulan her veritabanında saklanır. Sonuç olarak, veritabanı sürüm numarası yoktur, ancak bu yaklaşım, birden çok geliştirici ve kod dalı bulunan ortamlarda çalışmasına izin verir.

Liquibase, bir changeLog Dosyasını ilk kez çalıştırdığınızda, DatabaseChangeLog Tablosunu ve DatabaseChangeLogLock Tablosunu otomatik olarak oluşturur.

Başlıca işlevsellik

  • 30'dan fazla yerleşik veritabanı yeniden düzenlemeleri
  • Özel değişiklikler oluşturmak için genişletilebilirlik
  • Veritabanını mevcut sürüme güncelle
  • Veritabanına son X değişikliği geri alma
  • Veritabanı değişikliklerini belirli bir tarih / saate geri alma
  • Veritabanını "etiket" e geri döndür
  • Veritabanı Güncellemeleri ve Geri Dönüşler için SQL, manuel inceleme için kaydedilebilir
  • Bağımsız IDE ve Tutulma Eklenti
  • Yürütülecek değişiklik kümelerini dahil etmek / hariç tutmak için "bağlamlar"
  • Veritabanı fark raporu
  • Veritabanı farkı değişiklik günlüğü oluşturma
  • Mevcut bir veritabanı oluşturmak için değişiklik günlüğü oluşturma yeteneği
  • Veritabanı değişikliği belgeleri oluşturma
  • DBMS Kontrolü, kullanıcı kontrolü ve SQL kontrolü ön koşulları
  • Daha kolay yönetim için değişiklik günlüğünü birden çok dosyaya bölme yeteneği
  • Komut satırı üzerinden yürütülebilir, Apache Ant, Apache Maven, servlet konteyneri veya Bahar Çerçevesi.
  • 10 veritabanı sistemi desteği

Ticari Versiyon

Liquibase (eski adıyla Datical)[2] Liquibase projesine hem en büyük katkı sağlayan hem de Liquibase Enterprise'ın geliştiricisidir [3] - temel Liquibase işlevselliğinin yanı sıra ek özellikler sağlayan ticari bir ürün.

  • Öngörmeyi Değiştirin: Bu değişikliklerin verilerinizi nasıl etkileyeceğini belirlemek için yaklaşan değişikliklerin çalıştırılmadan önce yürütülmesini öngörün.[4]
  • Kurumsal Standartları ve Politikaları uygulamak için Kural Motoru.[5]
  • Veritabanında Depolanan Mantığı destekler: işlevler, depolanmış prosedürler, paketler, tablo boşlukları, tetikleyiciler, diziler, kullanıcı tanımlı türler, eşanlamlılar vb.
  • Veritabanlarını Karşılaştır, değişikliği belirlemek ve bunu değişiklik günlüğünüze kolayca taşımak için iki veritabanı şemasını karşılaştırmanıza olanak tanır.
  • Veritabanı değişikliklerini veritabanından bağımsız bir şekilde kolayca tanımlamak ve yakalamak için Ayar Sihirbazı'nı değiştirin.
  • Mantıksal dağıtım iş akışınızı modellemek ve yönetmek için Dağıtım Planı Sihirbazı
  • Eklentileri Jenkins, Bamboo, UrbanCode, CA Release Automation (Nolio), Serena Release Automation, BMC Bladelogic, Kukla, Şef,[6] gibi tüm popüler kaynak kontrol sistemleri SVN, Git, TFS, CVS vb.

Liquibase Enterprise (eski adıyla Datical DB) dahil Liquibase ürünleri, Uygulama Yayınlama sürecine dahil olan DBA'lar, Sürüm Yöneticileri, DevOps ekipleri, Uygulama Sahipleri, Mimarlar ve Geliştiriciler tarafından kullanılır. Veritabanı Şeması değişikliklerini, uygulama koduyla birlikte, hataları ve gecikmeleri ortadan kaldıran ve hızlı Çevik sürümleri etkinleştiren programlı bir şekilde yönetir. Liquibase ticari ürünleri, Geliştirme'den Teste ve Üretim ortamlarına ilerledikçe uygulama sürümlerinde veri yapısına özgü içeriği yönetmek için Liquibase Veri Modeli Yaklaşımı üzerine inşa edilir. Datical, dağıtılmadan önce herhangi bir ortamda Şema değişikliklerinin etkisini önizler, böylece riski azaltır ve daha sorunsuz ve daha hızlı uygulama değişiklikleri sağlar.

Liquibase geliştiricisi Nathan Voxland, Liquibase'de (eski adıyla Datical) yöneticidir. [7]

Örnek Liquibase ChangeLog dosyası

<?xml version="1.0" encoding="UTF-8"?>        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>             type ="oracle"/>    </preConditions>     id ="1" yazar ="yazar1">         tableName ="kişiler">             isim ="İD" type ="int" autoIncrement ="doğru">                 primaryKey ="doğru" nullable ="yanlış"/>            </column>             isim ="isim" type ="varchar (50)"/>        </createTable>    </changeSet>     id ="2" yazar ="yazar2" bağlam ="Ölçek">         tableName ="kişiler">             isim ="İD" değer ="1"/>             isim ="isim" değer ="Test1"/>        </insert>         tableName ="kişiler">             isim ="İD" değer ="2"/>             isim ="isim" değer ="Test2"/>        </insert>    </changeSet></databaseChangeLog>

İlgili araçlar

Referanslar

  1. ^ "Liquibase İndirmeleri". Liquibase. Alındı 2020-05-29.
  2. ^ https://www.liquibase.com/blog/2020-05-19
  3. ^ "Liquibase Enterprise". Liquibase. Alındı 2020-05-29.
  4. ^ https://www.liquibase.com/forecast. Eksik veya boş | title = (Yardım)
  5. ^ "Liquibase Kuralları". Liquibase. Alındı 2020-05-29.
  6. ^ "Ortaklarımız". Liquibase. Alındı 2020-05-29.
  7. ^ "Liquibase Liderliği". Liquibase. Alındı 2020-05-29.

Dış bağlantılar