konto usunięte

Temat: Przenośność i mergowanie zmian

Witam serdecznie,

Czy znacie może jakiś prosty sposób na to, aby zmian w bazie dokonywało kilka(naście) osób jednocześnie i aby te zmiany były przenośne pomiędzy poszczególnymi środowiskami lokalnymi / branchami / trunkiem / serwerem produkcyjnym, podobnie jak kod w systemie kontroli wersji?

Mamy sytuację przykładową:
deweloper 1 dodaje kolumnę w tabeli X i tworzy kod, którzy korzysta z tej kolumny. Commituje zmiany do SVN, w wyniku czego wszyscy pozostali deweloperzy muszą mieć u siebie na lokalnych środowiskach wykonane zapytanie dodające kolumnę. Co więcej - chciałbym przenosić albo wszystkie zmiany, albo tylko te, które zostały wprowadzone w wyniku pracy nad określonym zadaniem (tak, aby konkretne wykonane prace mogły być wdrażane na serwer produkcyjny niechronologicznie, np. zadanie zakończone wczoraj idzie na produkcję, a zadanie z przed 3 dni zostaje jeszcze jakiś czas na środowisku testowym). Dobrze byłoby, aby narzędzie było zdolne obsłużyć zapytanie zajmujące nawet 10 MB.

Czy spotkaliście się może z takim problemem? Jak sobie z tym radzić?
Wojciech Zieliński

Wojciech Zieliński IT
Project/Programme/Pe
ople Manager
(PRINCE2
Practicioner...

Temat: Przenośność i mergowanie zmian

My przygotowaliśmy i używamy narzędzia pgCompare - dla Postgresa, tworzącego "patche" pomiędzy różnymi wersjami bazy danych. O tyle jest ono ciekawe, że bierze pod uwagę zarówno strukturę bazy, jak i same dane (istotne pod kątem danych słownikowych czy też ustawień dla logiki biznesowej).
Jakbyś był zainteresowany - zapraszam na prv.

konto usunięte

Temat: Przenośność i mergowanie zmian

Wojciech Zieliński:
My przygotowaliśmy i używamy narzędzia pgCompare - dla Postgresa, tworzącego "patche" pomiędzy różnymi wersjami bazy danych. O tyle jest ono ciekawe, że bierze pod uwagę zarówno strukturę bazy, jak i same dane (istotne pod kątem danych słownikowych czy też ustawień dla logiki biznesowej).
Jakbyś był zainteresowany - zapraszam na prv.

I świetnie to działa jak w bazie nie masz danych, albo zmiana danych jest trywialna. Dla nietrywialnej zmiany danych automat nie zadziała.

konto usunięte

Temat: Przenośność i mergowanie zmian

Wojciech Zieliński:
My przygotowaliśmy i używamy narzędzia pgCompare - dla Postgresa, tworzącego "patche" pomiędzy różnymi wersjami bazy danych. O tyle jest ono ciekawe, że bierze pod uwagę zarówno strukturę bazy, jak i same dane (istotne pod kątem danych słownikowych czy też ustawień dla logiki biznesowej).
Jakbyś był zainteresowany - zapraszam na prv.
Witam,

Nie interesuje nas gotowiec, a sama koncepcja (szkic podejścia do problemu w 1 zdaniu). Co do przenośności zmian samych danych, nawet gdyby to działało (nie widziałem Waszego narzędzia, więc pozostanę w tej kwestii neutralny), nie będzie z tym kłopotów, ponieważ u nas bazować to będzie na tej samej zasadzie. My bowiem nie potrzebujemy automagicznego porównywania baz ze sobą. Określamy zapytania, które mają wejść na wszystkie środowiska i tyle.

Wobec tego chyba nie ma bardziej ogólnego, lepszego rozwiązania niż stworzenie sobie narzędzia do tego celu. Tworzenie plików z zapytaniami w katalogu gdzieś w projekcie, poza public. Podział zapytań na zadania (numerami ID z systemu zarządzania projektem) + określenie kolejności odpalania + zapis zapytań, które już zostały wykonane w obrębie danego zadania...

Dziękuję rozmówcom, pozdrawiam. Gdyby ktoś jeszcze kiedyś wpadł na jakiś lepszy pomysł to chętnie go poznam (myślę, że nie ja jeden).
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Przenośność i mergowanie zmian

Poczytaj trochę o koncepcji "migracji".

konto usunięte

Temat: Przenośność i mergowanie zmian

Nie jestem pewien, czy "koncepcja(?) migracji" wiąże się jakkolwiek z tematem dyskusji. Nie chodzi o migrowanie (z silnika X na Y), lecz synchronizację, porównanie, mergowanie, w obrębie tego samego silnika, tej samej bazy. Coś na kształt dbForge Data Compare, dbForge Schema Compare, DB Schema Difftective tylko dodatkowo z określeniem unikalnego parametru indeksującego zmiany (np. numer ID taska).

konto usunięte

Temat: Przenośność i mergowanie zmian

Tutaj już była dyskusja na ten temat.

A tutaj linki do ciekawej serii artykułów na ten temat - warto poczytać.

konto usunięte

Temat: Przenośność i mergowanie zmian

Super, nie wyszukałem dotąd tego wątku. Dyskusja tutaj mija się więc z celem (duplikowanie tematu), w podanym przez Ciebie linku znalazłem już koncepcję, która mnie interesuje.
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Przenośność i mergowanie zmian

Marek Glijer:
Nie jestem pewien, czy "koncepcja(?) migracji" wiąże się jakkolwiek z tematem dyskusji [...]

Owszem, wiąże się, ale jeżeli zamiast zaprząc google'a wolisz powtórzyć założenia z pierwszego postu, to proszę bardzo.

hint: nie, nie chodzi o migracje z jednego silnika na drugi.

konto usunięte

Temat: Przenośność i mergowanie zmian

Alan Gabriel B.:
hint: nie, nie chodzi o migracje z jednego silnika na drugi.

Chętnie poznam więc Twój zamysł, bo jak dotąd nie napisałeś nic konkretnego :) (słowo migracja ma wiele znaczeń w obrębie naszej dyskusji, choćby migracja bazy do innego silnika, co nie wiąże się z tematem). Dopóki nie napisałeś wprost - mogłem się tylko domyślać, że nie chodziło Ci o to. Zatem jeśli masz ochotę doprecyzować - czekam na konstruktywne wnioski.Marek Glijer edytował(a) ten post dnia 23.07.10 o godzinie 15:22

Następna dyskusja:

Rejestrowanie zmian w bazie...




Wyślij zaproszenie do