Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [GIT][MYSQL][WorkBench]Git a MySqlWorkbench
kpt_lucek
post 25.10.2014, 23:15:37
Post #1





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
redeemer
post 26.10.2014, 09:32:31
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Nie lepiej trzymać po prostu plik tekstowy (dump sql)?


--------------------
Go to the top of the page
+Quote Post
kpt_lucek
post 26.10.2014, 11:20:05
Post #3





Grupa: Zarejestrowani
Postów: 428
Pomógł: 77
Dołączył: 10.07.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Też jest jakieś rozwiązanie... ale cóż - nie zawsze masz możliwość decydowania :c


--------------------


Cytat
There is a Bundle for that
Lukas Kahwe Smith - October 31th, 2014
Go to the top of the page
+Quote Post
Pyton_000
post 26.10.2014, 11:33:19
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


@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.
Go to the top of the page
+Quote Post
redeemer
post 26.10.2014, 12:08:40
Post #5





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Trzymanie całego modelu z WB w repo IMO nie ma sensu.

Zobacz też http://dbv.vizuina.com/


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 26.10.2014, 13:13:56
Post #6





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


DBV jest fajne tylko szkoda że nie ma możliwości w ramach rewizji zrobić zapytań rollback
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.05.2024 - 23:50