W moim biurze pojawiła się dyskusja na temat tworzenia pakietu kontrolującego dane mysql w wersji (nie schematy/migracje).Wersjonowanie danych Mysql (nie tylko schematu)
Zasadniczo proces będzie działał w ten sposób. Należy pamiętać, że klient nadal używa backendu jako normalnego obrazu, a następnie używa go tak, jak backend wordpress. Klient logowałby się, wybierz "oddział", nadając mu nazwę, powiedzmy "nowi użytkownicy", i sklonowałby całkowicie nową bazę danych, umożliwiając użytkownikowi pracę w "filii" bez wpływu na żywo. Gdy klient skończy wprowadzanie zmian danych, scalą gałąź danych w "master" (na żywo).
Pod oknem podczas scalania wyeksportuje dane z gałęzi "na żywo" i "nowych użytkowników" do pliku sql i wykona różnicę svn i scali zmiany.
Sytuacja, która wywołała ten pomysł, polegała na tym, że mamy klientów, którzy muszą wprowadzić zmiany w witrynie, ale nie chcą umieszczać tych danych na żywo, a podczas wprowadzania zmian nie chcą wprowadzać zmian w witrynach innych współpracowników. zarówno. Zasadniczo powielono to, co robią programiści podczas pracy w repozytoriach takich jak Git.
Również, jeśli klient pracuje na stronie dev/demo, praca, którą wykonują, chce umieścić na żywo.
Chciałem otworzyć dyskusję, aby zrozumieć, czy to nawet dobry pomysł? Jakie problemy możemy napotkać? Czy jest to dobra praktyka programowania podczas pracy z danymi? Czy coś takiego już istnieje?
Czy nie jest to coś podobnego do funkcji schematu Doctrine: update? To nie jest żadna rozciągliwość przy użyciu svn lub git, ale pozwala na korzystanie z bazy danych programistycznych i wprowadzanie zmian do sql i zatwierdzanie zmian w bazie danych bez utraty danych. –