Потребность: Инструмент, похожий на миграции, для params-local: отслеживает появились ли новые параметры в enviroments по отношению к текущему файлу, и если да, как минимум, оповещает об этом в консоли.
Иллюстрация проблемы:
Допустим, имеем следующий вид:
common/config/params-local.php
<?php
return [
'telegram.token' => '5111777220:0fWm_G2eNeWillyJN2ekBram42mkkET-ZAHAA',
'telegram.incidentChat' => 516764370486187,
'telegram.botName' => 'bot_father',
];
Наш коллега добавил новый функционал, и с ним — новый локальный параметр:
'style.newYear', который он добросовестно указал в enviroment-файлах:
environments/dev/common/config/params-local.php:
<?php
return [
'telegram.token' => '', // Telegram Bot API Token,
'telegram.incidentChat' => '', // ID of TG chat. Please do not forget to add a bot to this chat
'telegram.botName' => '', // Bot username without "@"
'style.newYear' => 1, // Enable or disabled new year design
];
Нам же — нужно этот новый параметр добавить себе.
Проблема: Но наш проект
уже поднят, поэтому повторный запуск
yii init — да, добавит новый параметр, но и
сбросит к значениям по-умолчанию уже заполненные.
Получается, что нашему коллеге нужно оповестить нас о новом параметре, а нам его уже добавить в свой loc-файл, чтобы ничего не затерлось и наш
common/config/params-local.php имел такой вид:
<?php
return [
'telegram.token' => '5111777220:0fWm_G2eNeWillyJN2ekBram42mkkET-ZAHAA',
'telegram.incidentChat' => 516764370486187,
'telegram.botName' => 'bot_father',
'style.newYear' => 1,
];
Цель: Автоматизировать данный процесс. Думаю, достаточно будет сверять 2 массива, но возможно уже есть готовые инструменты, в т.ч. от фреймворка, чтобы не писать велосипед.