Bandicoot
@Bandicoot
Вась-программист

Как без лишних костылей сделать разные конфиги для БД в Yii2 advanced?

Всем привет! По заданию заказчика начал проект на Yii2 advanced. По своей воле бы этого не сделал, всегда за глаза хватало basic шаблона. Встал вопрос о разделении конфигов БД для локалхоста и хостинга. Пока сделал как в basic: в /common/config/main-local.php обернул конфиги в переменную $config и добавил ниже:
if (YII_ENV_DEV){
    $config['components']['db'] = require(__DIR__ . '/db-local.php');
}

Это я так понимаю костыль, по-хорошему нужно это настраивать через окружения (папка environments), но как правильно это сделать?
  • Вопрос задан
  • 241 просмотр
Решения вопроса 1
qonand
@qonand
Software Engineer
папка environments содержит скелет для настроек приложения зависимых от окружения. Тоесть по факту, когда Вы разворачиваете проект в определенном окружение и выполняете команду init происходит копирование конфигов из папки environments в соответствующие папки и уже в них Вы указываете все параметры которые зависят от окружения (доступы к БД и т.п.). Соответственно в конфигах /common/config/main.php и т.п. указываются настройки не относящиеся к окружению (список компонентов и т.п.)

Как без лишних костылей сделать разные конфиги для БД в Yii2 advanced?

итого Вам нужно:
1. Выполнить инициализацию проекта с помощью init
2. Заполняете данные доступа в конфигах с префиксом -local
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы