Column binding
Serwis pozwala walidować przed rozpoczęciem porównania, czy tabele można do siebie porównać. Służy do tego endpoint: POST /compare/bind
Przykład i opis body dla POST /compare/bind:
source/targetDatabaseConnectionInfo-> informacje o źródłowej i docelowej bazie danych, opcje databaseType:POSTGRES,ORACLE,SQLSERVERsource/targetTables-> lista tabel do sprawdzenia z bazy źródłowej i docelowej z informacją o nazwie schema, tabeli, kluczu głównym oraz porównywanych kolumnach poza kluczem w tabeli źródłowej i docelowej. serwis pobiera informację z bazy danych o kluczu głównym i indeksach. serwis pobiera pełną listę kolumn i sortuje ją alfanumerycznie.
{
"sourceDatabaseConnectionInfo": {
"databaseType": "POSTGRES",
"url": "jdbc:postgresql://localhost:5432/postgres",
"username": "postgres",
"password": "postgres"
},
"targetDatabaseConnectionInfo": {
"databaseType": "ORACLE",
"url": "jdbc:oracle:thin:@localhost:1521:ORCLCDB",
"username": "system",
"password": "Oracle_123"
},
"sourceTables": [
{
"schema": "test_data",
"name": "cat"
},
{
"schema": "test_data",
"name": "cat2"
},
],
"targetTables": [
{
"schema": "SYSTEM",
"name": "CAT"
},
{
"schema": "SYSTEM",
"name": "CAT2"
},
]
}Przykład i opis response dla POST /compare/bind:
result -> określa, czy w trakcie walidacji wystąpił jakiś ogólny błąd
message -> w przypadku błędu określa jego powód
boundTablesList -> lista wyników walidacji. Dla każdej tabeli z pary zwracane jest:
lista informacji o indeksach - dla każdego indeksu nazwa, czy jest unikalny oraz lista indeksów kolumn w indeksie (indeksy odnoszą się do listy wszystkich kolumn)
informacja o kluczu głównym - nazwa, oraz lista indeksów kolumn w kluczu (indeksy odnoszą się do listy wszystkich kolumn)
lista kolumn wraz z ich typami, posortowane po nazwach kolumn
nazwa schematu i tabeli
szacowany rozmiar tabeli w bajtach
W polu result zwracana jest informacja o walidacji dopasowania klucza głównego (primaryKey) i pozostałych kolumn (columns).
SUCCESS- dopasowanie się udałoWARNING- dopasowanie jest możliwe, ale wymaga ustawienia odpowiednich flag. Lista warnings może zawierać następujące wartości:BOOLEAN_TYPE_MAPPING_BINDING_WARNING - trzeba ustawić flagę
mapBooleanTypesna truePOSTGRES_MONEY_TYPE_MAPPING_BINDING_WARNING - trzeba ustawić flagę
mapPostgresMoneyTypeToDoublena trueORACLE_DATE_TYPE_MAPPING_BINDING_WARNING - trzeba ustawić flagę
treatOracleDateAsTimestampna true
ERROR- dopasowanie niemożliwe, opis błędu w polumessage
Last updated