Genel Bakış

DbVersion servisinin amacı; LOGO ürünlerinin ve mikro servislerinin veritabanı şemalarını ve varsayılan kayıtlarını çok kullanıcılı bir şekilde yönetmek ve versiyonlamaktır. PostgreSql, MySql, SqlServer gibi veritabanlarını destekler.


Kavramlar

Changelog : Serviste kullanılan bir kütüphanenin(liquibase) ürettiği json formatındaki veritabanı değişiklikleri.

Örnek bir changelog ;

{ "changeSet": { "id": "addColumn", "author": "docs", "changes": [ 
{
"addColumn": { "catalogName": "cat", "columns": [ { "column": { "name": "address", "type": "varchar(255)" } }] , "schemaName": "public", "tableName": "person" } }
]
} }


Kullanım Senaryoları

  • İki veritabanı arasında şema farklılığını(changelog) üretmek ve bu farklılıkları uygulamak.Bu veritabanları fiziksel yada jpa persistence veritabanı olabilir.Şema farkları jpa entitylerinden de üretilebilir.
  • Versiyonlu şekilde sql scriptleri çalıştırmak ve varsayılan kayıtlar ilgili tenantın veritabanında oluşturmak. 


İlişkili Platform Servisleri

  • Ayarlar Servisi (Settings Service)
  • Bulut Yönetim Servisi (Cloud Control Service)
  • Cache: Redis
  • Index: Elasticsearch
  • RDBMS: PostgreSQL