Помогите пожалуйста разобраться возможно в раздражающе простых вопросах но как говорил Л.Толстой: "Не стыдно не знать, стыдно не учиться"
Есть 2 дефолтные среды разработки. Dev, Prod.
В конфигах environment/prod/common/main-local.php хранятся настройки для сервера на production и основные параметры системы, такие как подключение к БД, в main хранится урл менеджер, лог, сессии, в общем данные без пароля.
При смене режимов через команду init файлы переписываются.
Правильно ли я понимаю, что все изменения конфигов нужно дублировать в папке environment?
То есть мои локальные подключения к БД должны быть в файле environment/dev/common/main-local?
Например я работаю в режиме dev, то мне не нужно переключаться на другой режим что бы добавить какие либо файлы в репозиторий. Главное что бы main-local, params-local, web/index.php и другие генерируемые из environment файлы были в .gitignore?
Я делаю api, получается для него тоже нужно делать папку в environment? Будет ли достаточно добавить соответствующую папку api в prod и dev и скрипт index сам всё сделает или как правильно?
У меня возникла проблема, с тестами. Не совсем понимаю как настроить это. Конкретно подключение к БД. Насколько я понимаю, загрузка конфига идёт так, common/main-local/ перезапись из frontend/main-local перезапись из frontend/test-local.
В настройках .yml указать следующее.
И приложение будет работать через index-test где конфиг БД и перезапишет на нужный конфиг БД.
Код: Выделить всё
- Yii2:
part: [init, orm, fixtures]
cleanup: false # don't wrap test in transaction
scriptFile: index-test.php
То есть что бы все заработало как надо, нужно исправить конфиг в environment и сделать init нужного окружения?