Jaki jest dobry sposób na migrację zmian DB z programowania do kontroli jakości do środowisk produkcyjnych? Obecnie my:
- Skryptuj zmianę w pliku SQL i dołącz ją do elementu pracy TFS.
- Praca jest recenzowana
- Gdy praca jest gotowa do testowania, SQL jest uruchamiany w ramach kontroli jakości.
- Praca jest testowana pod kątem jakości
- Gdy praca jest gotowa do produkcji, SQL jest uruchamiany w produkcyjnych bazach danych.
Problem polega na tym, że jest to bardzo ręczne. Polega on na tym, że deweloper pamięta, aby dołączyć sql lub recenzenta łapiąc go, jeśli programista zapomni. Czasami kończy się to testerem lub wdrażającym QA, który odkrywa problem.
Drugi problem polega na tym, że czasami trzeba ręcznie koordynować zmiany, jeśli dwa oddzielne zadania zmieniają ten sam obiekt bazy danych. Może tak po prostu jest, ale nadal wydaje się, że powinien istnieć jakiś zautomatyzowany sposób „oflagowania” tych problemów lub coś takiego.
Nasza konfiguracja: nasz sklep deweloperski jest pełen programistów z dużym doświadczeniem w zakresie DB. Nasze projekty są bardzo zorientowane na DB. Jesteśmy głównie sklepem .NET i MS SQL. Obecnie używamy elementów roboczych MS TFS do śledzenia naszej pracy. Jest to przydatne w przypadku zmian kodu, ponieważ łączy zestawy zmian z elementami pracy, dzięki czemu mogę dowiedzieć się dokładnie, jakie zmiany muszę wprowadzić podczas migracji do środowisk QA i produkcyjnych. Obecnie nie korzystamy z projektu DB, ale możemy przejść do niego w przyszłości (być może jest to część odpowiedzi).
Jestem bardzo przyzwyczajony do mojego systemu kontroli źródła, który zajmuje się takimi rzeczami dla mnie i chciałbym mieć to samo dla mojego SQL.