@gto6120

Как правильно отразить в VCS применение миграции из vendor?

Добрый день. Мучает вопрос, как правильно запечатлеть в вечности тот факт, что применил миграцию, но не свою, которая у тебя в виде кода проекта лежит, а ту, что в папке vendor yii2 фрэймворка (папка эта под .gitignore как водится). Вижу вариант переносить миграцию из vendor внутрь проекта, но это как-то криво, ведь обновление стороннего расширения может затронуть и миграцию (обновилось расширение, требуются новые таблицы, к примеру), и тогда я должен буду вручную переносить изменения, возможно есть и еще проблемы, интуитивно чувствую, что это неправильно.

А еще есть такой момент, что применив миграцию из vendor:
php yii migrate --migrationPath=@yii/rbac/migrations/


Я обнаруживаю, что созданные таблицы не связаны с моей таблицей user внешним ключом.

bfee8b2fefcf477db167ec345f431967.PNG

Теперь мне это как-то нужно исправить, но я даже не знаю как: руками в БД лезть нельзя, миграция за пределами редактируемой части проекта...Выходит все же нужно ее перетянуть внутрь? Как решаете такие задачи?

Просьба не кидаться помидорами, я только накатил advanced-шаблон и на нем хочу увидеть в действии работу rbac и заодно поупражняться в работе с git.
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
На мой взгляд надо переписать контролер миграции (создать свой и подключить в конфиге)
Вот есть пример, для двух баз, но там есть пример конфига для кастомного контролера:
https://habrahabr.ru/post/279701/
Далее в экшене migrate можно добавить копирование файла в папку console/migrations например и иметь их в проекте не зависимо от изменений в vendor.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
/**
 * Class m170113_172800_add_subscribe_table.
 */
class m170113_172800_add_subscribe_table extends \backend\modules\subscribe\migrations\m170113_150000_subscribe
{

}
Ответ написан
Ваш ответ на вопрос

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

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