Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [GIT][MYSQL][WorkBench]Git a MySqlWorkbench
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
kpt_lucek
Witam szanownych

W praktyce nie wiedziałem gdzie wstawić temat i po głębszym przemyśleniu trafiło na ten dział.

Więc tak, mam model bazy danych dodany do repo gitowego (niestety nie przechodzi pomysł umieszczenia go gdzie indziej bo "inni też modyfikują bazę danych i musimy mieć nad tym kontrolę"), za każdą zmianą w modelu generował on konflikty które trzeba było ręcznie rozwiązywać, co jest baaaaaardzo uciążliwe...

Sam plik *.mwb (nie wiem czy ktoś przy nim ręcznie grzebał) jest plikiem zip, po wypakowaniu uzyskujemy:
Kod
/lock
/document.mwb.xml
/@db/data.db

W praktyce, z moich doświadczeń wynika iż interesuje nas plik document.mwb.xml o zawartości zbyt dużej żeby wstawić go tutaj na forum. Podczas testów na samym pliku .xml zauważyłem że jest pewna zależność która powoduje konflikty i tym samym uniemożliwia automatyczny merge zmian (byliśmy skłonni trzymać model w wersji .xml...) mianowicie:
  1. <value type="object" struct-name="workbench.Document" id="{7054F7CC-AF4E-4237-BAE3-604A4FC1B6F5}" struct-checksum="0x7131bf99">

Za każdym zapisem struct-checksum miał inną wartość, a że występuje praktycznie wszędzie, to GIT rozpoznawał to jako zmianę całego dokumentu i sypał błędami. W praktyce po długich kombinacjach, wertowaniu googla, potem pisaniu wyrażeń regularnych czyszczących w/w atrybut przed commitem/pushem rozwiązało problem na tyle, aby później wygenerować inny hash dla każdego pola. Warunek był jeden - musi być on unikalny.
Tak więc niejako problem mógłbym określić jako "zakończony", ale zawiera on tyle kombinacji że ręce opadają.


Borykał się ktoś z tytm problemem? Może macie lepsze, łatwiejsze, wygodniejsze, jakiekolwiek inne rozwiązanie które ułatwiło by pracę z tym oto pliczkiem?

Dzięki i pozdrawiam
redeemer
Nie lepiej trzymać po prostu plik tekstowy (dump sql)?
kpt_lucek
Też jest jakieś rozwiązanie... ale cóż - nie zawsze masz możliwość decydowania :c
Pyton_000
@redeemer autorowi chodzi pewnie aby m.in. trzymać model BD z WB.

Co do samego tematu to zrób
Kod
git diff --ignore-all-space

Co powinno wywalić Ci tylko wynik konkretnych zmian. a nie całego pliku bo zapewne kodowanie znaków końca linii albo się zmienia albo git szaleje.
redeemer
Trzymanie całego modelu z WB w repo IMO nie ma sensu.

Zobacz też http://dbv.vizuina.com/
Pyton_000
DBV jest fajne tylko szkoda że nie ma możliwości w ramach rewizji zrobić zapytań rollback
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.