Jest to wygodne, gdy masz wersję aplikacji DEVELOPMENT na komputerze lokalnym i możesz ją wdrożyć na serwerze STAGE do testowania (opcjonalnie), a następnie wdrożyć na serwerze PRODUCTION. Można to zrobić stosunkowo łatwo, gdy istnieje duża dyskrecja kodu i danych w projekcie (na przykład, jeśli przechowujemy cały kod i ustawienia w plikach projektu i danych w bazie danych).Jaka jest najlepsza praktyka wdrażania przy korzystaniu z MODX?
MODX przechowuje szablony, fragmenty itp. W bazie danych. Tak, możemy przenieść ten kod do plików statycznych, a następnie możemy użyć systemu kontroli wersji do śledzenia zmian tych elementów. Ale te mają również wiersze reprezentacyjne w bazie danych. Oznacza to, że musimy zaktualizować bazę danych tak jak poprzednio, jeśli dodaliśmy lub usunęliśmy niektóre elementy.
Wygląda na to, że możemy również uzyskać pewne problemy, jeśli skopiowaliśmy pliki rozszerzeń zamiast instalacji przez menedżera pakietów (ponieważ rozszerzenia często mają własne tabele w DB).
Innym problemem jest to, że aplikacje na DEV i PROD mają różne ustawienia zapisane w plikach (configs) i bazie danych (kontach użytkowników, np.).
Nie widzę jeszcze jasnego sposobu na zorganizowanie iteracyjnego cyklu rozwoju DEV-STAGE-PROD. Tak więc, moje pytania są następujące:
- Jakie pliki i tabele bazy danych należy (lub trzeba) skopiować podczas wdrażania?
- Jaki jest tryb (zastąp, zignoruj) Czy powinienem to zrobić?
- Jaki jest najłatwiejszy i najszybszy sposób na zrobienie tego?
Moim największym zmartwieniem jest posiadanie bazy danych.
P.S. Mówię o wersji "Revolution" MODX, jeśli to ma znaczenie.
Mam na myśli sposób na wdrożenie tylko niektórych zmian, a nie całego projektu. W tym przypadku deweloper zwykle ma duże DB po stronie produkcyjnej i małe testowe DB na lokalnym komputerze. Która część bazy danych musi być skopiowana i jaki jest najlepszy sposób na zrobienie tego? Co z konfliktem identyfikatorów zasobów podczas tworzenia nowego zasobu na DEV i ma on ID, który jest już zajęty w PROD? –