Fórum Root.cz

Hlavní témata => Server => Téma založeno: Wangarad 18. 09. 2020, 10:16:03

Název: Porovnanie SQL databaz
Přispěvatel: Wangarad 18. 09. 2020, 10:16:03
Mam otazku ako porovnat 2 sql databazy (s backupu )a vyexportovat vsetky rozdiely? Hlavne nastavenia, indexy. Existuje nieaky jednoduchy tools?
Název: Re:Porovnanie SQL databaz
Přispěvatel: alex6bbc 18. 09. 2020, 11:01:22
a nemuzes je obe nainportovat (pokud to nejsou obludy) a porovnat je uz normalnimi dotazy?
Název: Re:Porovnanie SQL databaz
Přispěvatel: Miroslav Šilhavý 18. 09. 2020, 12:02:39
Čas od času se objeví nějaké nástroje, ale nevím o ničem, co by se tak říkajíc "ujalo".
Nejjednodušší je porovnat to SQL dotazy, nebo v některých případech se dají diffem porovnat exporty/dumpy.

Optimální cesta se musí najít podle případu - počet tabulek, délka dat, šířka dat....

Poznámka na okraj: správně by v databázích taková potřeba neměla vyvstat, když je potřeba trackovat změny, hlídají se už rovnou v databázi. Jako mimořádnou situaci, kdy je to potřeba, si dovedu např. představit slučování dat se zálohou po havárii.
Název: Re:Porovnanie SQL databaz
Přispěvatel: Wangarad 18. 09. 2020, 14:22:28
Tam je problem v tom ze existuje backup a potom aktualna verzia v ktorej niekto spravil "zmeny" nie je zname ci v nastaveniach, indexoch, klucoch, whatever a ide o to najst vsetky zmeny voci backupu. Struktura by mala byt rovnaka ale ide o to zistit co presne sa zmenilo. Mne to vychadza tak ze naimportovat obe verzie a priste to porovnavat preto ta otazka ci ma niekto skusenost s toolsom ktory by toto vedel poriesit a nemusel by som manualne prechadzat 2 DB.
Název: Re:Porovnanie SQL databaz
Přispěvatel: Miroslav Šilhavý 18. 09. 2020, 14:30:36
Nevím jakou máte DB k dispozici, ale v Postgresu bych na to použil pg_dump --schema-only (tj. bez dat) a pak diffem se podíval na rozdíly ve struktuře, indexech apod.
Název: Re:Porovnanie SQL databaz
Přispěvatel: Ondrej Nemecek 18. 09. 2020, 14:39:12
Chcete porovnat data nebo strukturu? Strukturu a základní data je nejlepší verzovat již v projektu pomocí db-migračního nástroje (Flyway, ...), pak vidíte rovnou v databází jakou verzi struktury databáze má a potřebné změny jsou aplikovány automaticky pomocí sady změnových souborů. Funguje to bezproblémově.

Někteří sql klienti mají i nástroje na porovnání,  např. Dbeaver má Schema compare a Data compare (jde tuším o  placené pluginy). SQuirell má dbdiff a dbcopy. Podobné funkce mohou mít i různé data-pump nástroje.  Osobně ale většinou dumpuji samotnou strukturu a použiju textový diff, to mi většinou stačí.