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