Это удобно, когда у вас есть РАЗРАБОТКА версия приложения на вашем локальном компьютере, и вы можете развернуть ее на сервере STAGE для тестирования (это необязательно), а затем развернуть на сервере PRODUCTION. Вы можете сделать это относительно легко, когда в проекте есть четкое усмотрение кода и данных (например, если мы храним весь код и настройки в файлах проекта, а данные в базе данных).
MODX хранит шаблоны, сниппеты и т. Д. В базе данных. Да, мы можем переместить этот код в статические файлы, а затем использовать систему контроля версий для отслеживания изменений этих элементов. Но у этих тоже есть репрезентативные строки в базе данных. Это означает, что мы должны обновлять базу данных, как и раньше, если мы добавили или удалили некоторые элементы.
Похоже, у нас также могут возникнуть проблемы, если мы просто скопируем файлы расширений вместо того, чтобы производить установку с помощью диспетчера пакетов (потому что расширения часто имеют свои собственные таблицы в БД).
Другая проблема заключается в том, что приложения на DEV и PROD имеют разные настройки, хранящиеся в файлах (конфигурациях) и базе данных (например, учетные записи пользователей).
Я до сих пор не вижу четкого способа организации итеративного цикла разработки DEV-STAGE-PROD. Итак, мои вопросы:
- Какие файлы и таблицы базы данных я должен (или должен) копировать при развертывании?
- В каком режиме (заменить, игнорировать) я должен это делать?
- Как это сделать проще и быстрее всего?
Меня больше всего беспокоит работа с базой данных.
P.S. Я говорю о "Revolution" версии MODX, если это важно.