WedX - журнал о программировании и компьютерных науках

Yii2 - Загружать фикстуры из разных модулей одновременно

У меня есть фикстуры в нескольких модулях, и я хочу иметь возможность загружать их сразу. Фикстуры находятся в модулях со следующими пространствами имен:

backend\modules\currency\fixtures
backend\modules\invoiceType\fixtures
backend\modules\unit\fixtures
...

Я знаю, что могу загрузить прибор из модуля с помощью этой команды;

yii fixture * --namespace=backend\modules\currency\fixtures

Также я знаю, что могу поместить все пространства имен в globalFixtures, но я не думаю, что это правильный путь.

Можно ли каким-то образом настроить конфигурацию, чтобы я мог загружать все приборы из всех указанных модулей одновременно?

В основном я ищу что-то аналогичное migrationPath для миграций, но доступное для фикстур.

01.10.2019

Ответы:


1

Насколько я знаю, у вас есть 3 способа сделать это.

Используйте 1_

Я не вижу в этом ничего плохого. Этот функционал создан именно для этого.

Написать собственный скрипт

Вы можете написать собственный скрипт для запуска несколько раз yii fixture * --namespace= с некоторым массивом конфигурации.

Использовать зависимости

Вы можете создать основной прибор или выбрать один из них в качестве основного и сделать его зависимым от всех остальных, используя свойство yii\test\Fixture::$depends. Вы можете прочитать больше на странице документации здесь. Просто посмотрите, где они приводят пример использования $depends.

Надеюсь, что-то из этого поможет вам.

01.10.2019
  • globalFixtures всегда выполняются, и я не могу запускать только фикстуры в данном модуле. Напишите собственный скрипт - это то, что я делаю сейчас, но мне приходится обрабатывать зависимости самостоятельно. если два модуля требуют одинаковой зависимости, они будут выполняться дважды. Возможно, зависимости с основным приспособлением - это путь. 01.10.2019
  • @tsanchev Сценарий проще реализовать, но я считаю, что зависимости - это путь. Я имел в виду либо создать новый основной, либо выбрать один из существующих в качестве основного и сделать так, чтобы он зависел от всех остальных. Нет смысла во всем зависеть от всего. 01.10.2019
  • я собираюсь решить эту проблему с командой yii, потому что это более общая проблема, тот же вопрос касается не только фикстур, но и тестов, т.е. как запустить все тесты из всех модулей :) я думаю, что должен быть последовательный способ обработка миграций, фикстур, тестов внутри модулей 01.10.2019
  • @tsanchev Да, было бы хорошо, если бы они что-то реализовали по этому поводу. 01.10.2019
  • Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]