Страница 1 из 1

Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.29, 17:43
Nicolai6120
То ли я дурак, то ли телега не едет.

Код: Выделить всё

php yii fixture User --namespace='common\fixtures'
Ответ:

Код: Выделить всё

Some fixtures were not found under path:
        /var/www/t.dev/common/fixtures

Check that they have correct namespace "common\fixtures" 
        1. User

Error: No files were found for: "User".
Check that files exist under fixtures path: 
"/var/www/t.dev/common/fixtures".
Ну что за ... ?

Именно в /var/www/t.dev/common/fixtures и лежит User.php (фикстура)

и нэймспейс его common\fixtures

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 06:50
ElisDN
А зачем их вручную загружать?

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 12:32
Nicolai6120
Я если честно, думал, что так работают с данными во время разработки. Чтобы в миграциях только структура была. Просто я пытаюсь разобраться в том как применять миграции и пока не могу понять как оперировать данными в этом контексте. Если их пихать в миграции, будет огромная куча проблем. А если дампы целиком в VCS запихивать то тогда нафига нужны миграции (одновременно и дампы и миграции использовать не вижу возможности)??

Я вот сейчас создал функционал для авторизации через соц. сети, а как мне его тестировать (без применения тестов, просто по-старинке, ведь не везде нужно и можно тесты писать) если нет пользователей? Нужно их добавить, а как? Просто себе в базу добавить пару записей? А тот кто после меня будет этот функционал изменять тоже будет у себя локально генерить данные? Я вот и думал что для этих целей придумали фикстуры (ну естественно и для автоматических тестов тоже).

Если честно запутался и не понимаю workflow работы с миграциями и данными при работе в команде.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 13:10
ElisDN
Nicolai6120 писал(а): 2017.01.30, 12:32 Я вот и думал что для этих целей придумали фикстуры (ну естественно и для автоматических тестов тоже).
Они придуманы именно для автоматических тестов.
Nicolai6120 писал(а): 2017.01.30, 12:32 Просто себе в базу добавить пару записей?
Да, просто добавить вручную.
Nicolai6120 писал(а): 2017.01.30, 12:32 А тот кто после меня будет этот функционал изменять тоже будет у себя локально генерить данные?
Тоже добавит пару записей. У него же собственные профили в соцсетях будут. А если понадобится - сольёт дамп с общего девелоперского сервера.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 14:45
Nicolai6120
Задавал такой вопрос на тостере, там советуют иначе. Говорят, что фикстуры можно не только для автоматических тестов использовать. И это логично по идее. Почему ограничивать себя в применении? Взгляните на тему:

https://toster.ru/q/392557

НЕ утверждаю что ВЫ советуете мне что-то не то, просто хотелось бы аргументированного мнения, почему нельзя фикстуры использовать без тестов? Пример про профили в соц. сетях не очевидный. Я не только для этого хочу создать пользователей через фикстуры но и для тестирования (не автоматического) RBAC.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 14:50
ElisDN
Nicolai6120 писал(а): 2017.01.30, 14:45 Задавал такой вопрос на тостере, там советуют иначе. Говорят, что фикстуры можно не только для автоматических тестов использовать. И это логично по идее. Почему ограничивать себя в применении?
Там же:
Организация зависит от команды в которой Вы работаете, точнее от договоренностей между ее участниками.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 14:54
Nicolai6120
Согласен... Но Вы ведь мне задали вопрос. Зачем загружать фикстуры вручную, я пытаюсь объяснить. чтобы не было необходимости данные вручную создавать. Сгенерировал один раз много много данных через faker и тестируй на них в свое удовольствие. Мне кажется это неплохой вариант (опять же не утверждаю, что вручную нельзя). Так вот, а ответа на свой основной вопрос не получил. Вы не знаете, почему так происходит при загрузке?

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 14:58
Nicolai6120
И еще, если обратите внимание, в той теме мне советуют роли присваивать через фикстуры, логично же, что если роли через фикстуры, то и пользователей создать нужно через фикстуры, иначе мне кажется не получится, так как у всех будет разброд юзеров а ассоциация через общую для всех фикстуру.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 15:12
ElisDN
Nicolai6120 писал(а): 2017.01.30, 14:54 ...чтобы не было необходимости данные вручную создавать. Сгенерировал один раз много много данных через faker и тестируй на них в свое удовольствие.
Ну нагенерируйте себе сотни данных и тестируйте. Закомитьте свои templates, чтобы другие программисты по ним свои наборы создавали. Просто не вижу смысла эти "много много данных" к проекту прикладывать.
Nicolai6120 писал(а): 2017.01.30, 14:54 И еще, если обратите внимание, в той теме мне советуют роли присваивать через фикстуры
Мне консольного контроллера хватает с действиями assign и revoke, чтобы любую роль к любому пользователю привязать.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 15:29
Nicolai6120
У меня не стоит задача привязать роли. Это хорошо в документации описано.

А если хочу чтобы эти же записи были просто репрезентативными. У меня задача сделать у всех разработчиков пяток записей (общих для всех тестовых юзеров), на которых они продолжат разработку связанных компонентов приложения (профили, рейтинги и так далее) и чтобы заказчик открыл админку и в ней своими ручками потыкал юзеров и роли их. Понятное дело для этого я напишу свой контроллер, но данные то контоллер не занесет мне в базу. Вот я и хочу фикстуру использовать - просто и со вкусом вроде бы.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 15:53
ElisDN
Используйте.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 16:24
Nicolai6120
А проблема была в том что ошибка в названии фикстуры. Должно быть UserFixture. Это в advanced шаблоне косяк.

Re: Как загрузить фикстуру из advanced-шаблона?

Добавлено: 2017.01.30, 18:42
samdark
Если поправите и сделаете pull request, будет замечательно...