# CDC DATABASE WIZZARD

## Dlaczego powstał Database Wizzard?

Główną zaletą oraz powodem dlaczego moduł powstał jest uporządkowanie funkcji systemu związanych z operacjami na bazie danych. Wszystkie operacje dotyczące komunikacji z bazą danych odbywają się za pomocą tego modułu. Został również stworzony intefrejs dla użytkownika ułatwiający wybór elementów z bazy danych, takich jak schematy czy tabele, oraz zawierający szczegółowe informacje o tabelach.

## Działanie

<figure><img src="https://873576933-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIClARKFpKUzMs7QIjylt%2Fuploads%2FeITs0RqB8wFy5ryYLSCd%2FZrzut%20ekranu%202023-06-23%20154226.png?alt=media&#x26;token=44e4e0c9-4b2d-4232-b8bf-4bd3bdcb52e9" alt=""><figcaption><p>Database Wizzard</p></figcaption></figure>

Przy konfiguracji konektora źródłowego dla bazy danych możemy kliknąć przycisk "DATABASE WIZARD", który przeniesie nas do kreatora. Po lewej stronie widzimy schematy wraz z trzema opcjami do wyboru, dotyczącymi uwzględnienia danego schematu w replikacji. Po kliknięciu w dany schemat zostaną wyświetlone tabele, które są w danym schemacie oraz informacje o poszczególnych tabelach, takie jak:

* Pk - Primary Key - czy tabela posiada klucz główny
* Fk - Foreign Key - czy tabela posiada klucz obcy
* Nt - Nested Tables - czy tabela posiada tabele zagnieżdżone
* Lob - czy tabela posiada kolumny typlu LOB (CLOB, NCLOB, BLOB)
* Cdt - Custom Data Types - czy tabela posiada kolumny o niestandardowym typie danych (zdefiniowanym przez użytkownika)

{% hint style="warning" %}
Powyższe informacje o poszczególnych tabelach dostępne są tylko dla baz danych Oracle
{% endhint %}

### Oznaczenia dla poszczególnych informacji dotyczących tabel

<table><thead><tr><th width="92">Ikona</th><th>Znaczenie</th></tr></thead><tbody><tr><td><img src="https://873576933-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIClARKFpKUzMs7QIjylt%2Fuploads%2FHubrO1M9PYTNgd9xunWr%2Fimage.png?alt=media&#x26;token=b1605ec4-bf60-4a0f-ad40-b0de4f7c0c98" alt="" data-size="original"></td><td>Oczekiwane występowanie elementu i nie wymaga dalszych dodatkowych kroków</td></tr><tr><td><img src="https://873576933-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIClARKFpKUzMs7QIjylt%2Fuploads%2FcSOsa2MfufnABowKJNN8%2Fimage.png?alt=media&#x26;token=7377966d-c2c5-40d9-8717-41c99028170e" alt="" data-size="original"></td><td>Występowanie elementu i wiąże się z podjęciem dodatkowych kroków</td></tr><tr><td><img src="https://873576933-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIClARKFpKUzMs7QIjylt%2Fuploads%2FFCI5Q55LTng1YhrnxRNX%2Fimage.png?alt=media&#x26;token=e236fbb4-94fd-43aa-8764-1d65babf01a7" alt="" data-size="original"></td><td>Brak danego elementu i nie wymaga dodatkowych kroków</td></tr><tr><td><img src="https://873576933-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIClARKFpKUzMs7QIjylt%2Fuploads%2FjIbSOlkYPvoMy8lsQQU3%2Fimage.png?alt=media&#x26;token=d4e569c7-748d-4be9-ab59-f775b2f05fb7" alt="" data-size="original"></td><td>Brak elementu i wiąże się z podjęciem dodatkowych kroków</td></tr></tbody></table>

## Wykonywane funkcje

* Informacje o bazie danych (Database Mode, Supplemental Logging )
* Sprawdzanie bazy/schematu/tabel pod względem typów danych, zagnieżdżonych tabel, tabel bez Primary Key
* Pobieranie schematów na bazie danych
* Pobieranie tabel dla konkretnego schematu
* Pobieranie schematów i tabel dla każdego ze schematów
* Pobieranie kolumn dla tabeli
* Pobieranie informacji o tabelach (Pk, Fk, Nt, Lob, Cdt)
* Sprawdzanie połączenia do bazy danych przy replikacji oraz przy module CDC-COMPARE
* Aktywowanie Supplemental Logging na bazie danych
* Pobieranie uprawnień możliwych do nadania użytkownikowi replikacyjnemu
* Tworzenie użytkownika do replikacji

## Szczegóły kontenera

|                    |                           |
| ------------------ | ------------------------- |
| Nazwa kontenera    | cdc-wizzard               |
| Nazwa repozytorium | goldenore/cdc/db\_wizzard |
| Port               | 8087                      |
| Zależności         | CDC BACKEND               |
