Hier is een handig script voor het voorbewerken van pg_dump
output om het geschikter te maken voor differentiëren en opslaan in versiebeheer:
https://github.com/akaihola/pgtricks
pg_dump_splitsort.py
splitst de dump in de volgende bestanden:
0000_prologue.sql
:alles tot de eerste KOPIE0001_<schema>.<table>.sql
.
.NNNN_<schema>.<table>.sql
:gegevens voor elke tabel gesorteerd op het eerste veld9999_epilogue.sql
:alles na de laatste KOPIE
De bestanden voor tabelgegevens zijn genummerd, zodat een eenvoudige gesorteerde aaneenschakeling van alle bestanden kan worden gebruikt om de database opnieuw te maken:
$ cat *.sql | psql <database>
Ik heb ontdekt dat een goede manier om snel de verschillen tussen dumps te bekijken, is om de meld
te gebruiken tool op de hele directory:
$ meld old-dump/ new-dump/
Het opslaan van de dump in versiebeheer geeft ook een goed beeld van de verschillen. Hier leest u hoe u git configureert om kleur in diffs te gebruiken:
# ~/.gitconfig
[color]
diff = true
[color "diff"]
frag = white blue bold
meta = white green bold
commit = white red bold
Opmerking: Als je tabellen hebt gemaakt/verwijderd/hernoemd, vergeet dan niet om alle .sql
te verwijderen bestanden voordat u de nieuwe dump nabewerkt.