Transformacja? migracja?

0

czesc.
mam taki problem ze szefowie wymyslili zmiane struktury bazdy dancyh,
czolowi informatycy zaprojektowali Nowa Wspaniala Baze
a nowy pracownik (ja) przeniesie dane ze starej bazy do nowej :D

bazy stara jak i nowa sa dostc rozbudowane (po kiladziesiat tabel).
czy sa do tego jakies narzedzia (mam cos co sie nazywa Power*Architect oraz Kettle)

Jako ze nigdy tego nie robilem pytam sie Was o to jak sie do tego zabrac?
Od czego zaczac, co zrobic potem i na czym skonczyc? :D

0

może PostgreSQL Data Wizard
albo może tu coś znajdziesz http://pgfoundry.org/softwaremap/trove_list.php chociaż wątpię.

Najprawdopodobniej będzie trzeba sobie napisać jakieś "narządko"

0

no dobra, narzedzie, narzedziem, ale jeszcze trzeba wiedziec co robic.
Na razie widze dwie mozliwosci jedna gorsza od drugiej....:

-utworzyc nowa pusta baze o zadanej strukturze (to juz jest)
-wylaczyc kontrole wszelkich powiazan miedzy tabelami, triggery i wszystko co dziala automatycznie
-dopasowac ktore pola z jakich (starych) tabel maja trafic na ktore pola (nowych) tabel.
-przerzucic dane
-wlaczyc wszystkie automaty i sprawdzic co sie rozjechalo...
(w tej metodzie narobie sie dopasowujac pola, a potem i tak wszystko wezmie w leb bo mi sie cos porozjezdza)

-utworzyc nowa pusta baze o zadanej strukturze
-przenosci dane po kawalku zaczynajac od tabel slownikowych, nie posiadajacych kluczy obcych,
-majac juz niektore tabele zajac sie tymi ktore maja odwolania do juz uzupelnionych tabel.
-powtarzac poprzedni ktrok az do przeniesienis wszystkich danych....
(w tej metodzie na poczatku bedzie latwo szlo ale potem utkne gdzies w polowie bo pojawia sie jakies zakrecone polaczenia...)

Na razie sklaniam sie w kieruku drugiego rozwiazania
ale zapowiada sie praca godna maniaka krzyzowkowego
w ustalaniu kolejnosci uzupelniania tabel.

A moze macie pomysly jak inaczej sie do tego zabrac?
albo uwagi czego sie wystrzegac lub jak sobie ulatwic prace...
za wszystko bede wdzieczny...

(procedura musi byc powtarzalna - tzn wypadaloby napisac jakis skrypt ktory to zrobi
a nie na pale - "o tu sie udalo to teraz moze nastepna tabela sie zajmiemy...")

0

Osobiście preferowałbym sposób nr. 2. Ponieważ poza samym sobą poprawność danych kontroluje również baza.

Ja robiłem takie rzeczy parę lat temu niemal codziennie. Pisałem skrypt wyciągający dane we właściwej kolejności i zapisujący je w postaci pliku z insertami ;) W skrypcie niejednokrotnie również wiązałem ze sobą dane, tworzyłem słowniki (z płaskich tabel) lub poprawiałem dane (np. formaty daty, wielkość liter).

0

a co zrobisz jeśli okaże się że tabele trzeba przenieść na iluś tam środowiskach produkcyjnych/testowych?(edit: nie doczytalem ; )) Wedlug mnie musisz napisac programik który będzie te dane po odpaleniu przenosił. Roboty jest troche...ale jak to dobrze zrobisz to masz pewność, że się nic nie rozjedzie. Ja pisalem taki migrator w C z t-sql'em.

1 użytkowników online, w tym zalogowanych: 0, gości: 1