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
,SQLSERVER
source/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.
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ę
mapBooleanTypes
na truePOSTGRES_MONEY_TYPE_MAPPING_BINDING_WARNING - trzeba ustawić flagę
mapPostgresMoneyTypeToDouble
na trueORACLE_DATE_TYPE_MAPPING_BINDING_WARNING - trzeba ustawić flagę
treatOracleDateAsTimestamp
na true
ERROR
- dopasowanie niemożliwe, opis błędu w polumessage
Last updated