Zacząłem używać Mercurial do kontrolowania wersji moich plików źródłowych projektu Drupal (jestem zarówno początkującym użytkownikiem VCS, jak i Mercurial). Jednak baza danych jest nadal "kontrolowana pod względem wersji" przy użyciu katalogu z datowanymi plikami .sql.gz.Używanie haków Mercurial do tworzenia/ładowania zrzutów bazy danych dla wersji
To, czego chcę, to mieć plik zrzutu pojedynczej bazy danych w moim repozytorium, który zostanie zastąpiony bieżącym zrzutem, gdy baza danych się zmieni, i zaimportowany do bazy danych, gdy chcę przywrócić inną wersję.
Zrobiłem to ręcznie i zadziałało. Ale to, co naprawdę chciałbym, to automatyczne ładowanie/ładowanie po każdym zatwierdzeniu/aktualizacji. Naprawdę wolałbym, żeby to podpięło do Mercurial, niż bycie czymś zewnętrznym, jak makefile, które najpierw zrzuca bazę danych, a potem się zobowiązuje, ponieważ lubię pracować z narzędziami TortoiseHg i nie mam ochoty uruchamiać kolejnego skryptu.
Wygląda na to, że coś takiego jak mysql .... < dumpfile.sql
na haku update
będzie łatwym sposobem na załadowanie zrzutu bazy danych po każdej aktualizacji. Ale co z automatycznym dumpingiem?
Było similar question o wstępnym zatwierdzeniu SVN, a przyjęta odpowiedź brzmiała, że to prawdopodobnie zły pomysł. Czy dotyczy to Mercurial? Może inny hak (prechangegroup
?) Zadziała?
EDIT:
powinienem zwrócić uwagę, że używam go przez siebie, na moim komputerze lokalnym. Nie powinien być skalowany poza jednego użytkownika.
Świetnie! Działa poprzez hg commit w porządku. Ale ... jeśli używam tortoisehg, muszę dwa razy zatwierdzić (raz dla plików źródłowych i jeszcze raz dla nowo utworzonego zrzutu bazy danych) ... Czy zdarzyło ci się wiedzieć, jak sobie z tym poradzić? –
Hum oznacza, że THG ogranicza pliki do plików, które według nich zostały zmienione. Nie znam THG na tyle dobrze, aby to obejść (może zapytać na liście mailingowej THG). – tonfa
Dzięki i tak. Co najwyżej mogę używać wiersza poleceń do zatwierdzania. Nie jest tak źle. –