Alexey
и просто возвращать массив из контроллера
Mihail
это абсолютно одно и то же, просто шорткат функция :)
Alexey
ага
Alexey
Товарищи, а не в курсе можно ли при запуске теста не только брать базу из дампа, но еще и миграции автоматом на нее накатывать?
Ivan
Товарищи, а не в курсе можно ли при запуске теста не только брать базу из дампа, но еще и миграции автоматом на нее накатывать?
По хорошему делаются фикстуры и наматываются они, а миграции вручную применяются к тестовой базе
Alexey
тест должен зависеть только от наборов данных фикстур
Pamparam
всем доброго дня
Pamparam
словил такую ошибку при миграции Exception 'yii\db\Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.migration' doesn't exist The SQL being executed was: SELECT version, apply_time FROM migration ORDER BY apply_time DESC, version DESC'
Pamparam
Куда она могла пропасть? ))
Павел
А зачем она там ваще?
Павел
По хорошему делаются фикстуры и наматываются они, а миграции вручную применяются к тестовой базе
Pamparam
ну так я и сделал migrate/up в ответ ошибка
Павел
Э туплю
Pamparam
я так понимаю не находит базовую таблицу migrate
Павел
А она не базовая потомушто
Anton Shelyganov
я так понимаю не находит базовую таблицу migrate
php yii migrate init Попробуй. Или как-то так
Pamparam
та же ошибка
Alexey
тест должен зависеть только от наборов данных фикстур
так данных в тестовой базе нет совсем, миграции перед тестами мне нужны для обновления структуры бд. Т.е тестовая база это просто структура без данных, но дамп устаревает и его нужно либо обновлять либо делать миграции после накатывания дампа.
Alexey
или тут логика неправильная у меня?
Alexey
тестовая база создается 1 раз
Alexey
yii_test migrate
Alexey
перед каждым тестом прогонять миграции не нужно
Alexey
прогонять надо скорее перед каждым запуском codecept run 😊
Alexey
в таком сценарии нужно в каждом тесте удалять за собой. При загрузке дампа такой надобности нет. В целом понятно что проще перед запуском взять базовую версию базы, накатить миграции и тестить, но это уже целая цепочка действий.
Alexey
хотя если использовать фикстуры, то чистить видимо не надо. Судя по доку они сами за собой приберают.
Alexey
Давайте сначала. У меня есть дамп базы без данных, только со структурой. Периодически добавляются миграции, но дамп я руками обновлять не хочу так часто. Я так понимаю порядок действий такой: Накатил дамп, запустил миграции, запустил тесты. Все данные внутри тестов достаются из фикстур и после теста убиваются ими же. Так?
SiZE
Странно что база из миграций не поднимается
Alexey
после дампа у тебя накатятся отсутствующие в дампе миграции
Alexey
все ок
Alexey
Это понял, а что делать с данными которые генерятся по мере выполнения теста? Их кто убивать должен? Я могу и забыть например где-то удалить за собой. В этом плане начать с нуля перед каждым тестом удобно, но в таком сценарии это невозможно.
The Ant
а можно просто Yii::$app->response->format = 'json';
можно, но не нужно. это зашквар
Alexey
asJson() public method (available since version 2.0.11)
Alexey
не так чтоб и зашквар, а обычное решение до 2.0.11
Владимир
Поставил JUI Extension for Yii 2 по этой инструкции https://github.com/yiisoft/yii2-jui и вместо виджета у меня обычный input.
Владимир
Владимир
Понимаю что не подключен jquery но не знаю где
Sorry4Wait
Добрый, может кто помочь когда на сайт отправляется json обйект с другого сайта выходить bad request (#400) как эту проблему решить чтоб запрос прошел??
Sam
Кто-то уже решал подсвечивание кода из-за отсутствия в PHPDoc @throws в PHPStorm 2017.3? Можно как-то отключить эту проверку? А то не совсем удобно.
Ivan
Все настройки в editor -> inspections -> php
🎅
Вообщем сам недавно столкнулся. Отправлял через axios, там нужно хедер один добавить
Stas
может кто подскажет получаю часы из тамштампа прбую и через G и через H заюиваю час ночи допустим мне выводит 4 или 04 но никак не 1
Stas
так блин это на локальном компе не на серваке
Dmitry
и что?
Stas
ты намекаеш что допустим у меня на компе часовой пояс + 2 отгносительно гринвича а типа сервак считай по гринвичу?
Evgeny
народ, а есть ли какой нить простой и легковесный способ собрать массив из id всех записей выбранных через AR?
Dmitry
может у тебя дефолт значение стоит, а твое не проходит?
Evgeny
->select('id')->asArray()
воу воу! вообще супер
Evgeny
спс
Ivan
воу воу! вообще супер
Но это будет массив массивов. Если просто обычный массив то select('id')->scalar
Stas
да проверил дает +3 часа скотина а как понять откуда ноги растут сисема или мускул? глянуть в пзп инфо локаль и часовой пояс если они там пишутся конечно
Evgeny
scalar че то не работает.. выдает просто одну цифру
Stas
такс с таймщзоной разобраося спасибо стояла москва. А что если я вывожу таймштамп через дейт то он берет сдвижку на мой чосовой пояс (я думал что елси в таймштампе забито час ночи певого декабря то и у тебя должно показаться час ночи первое декабря а не +2 часа еще относительно твоего часового пояса)
Stas
вопрос к тому что мне надо заказы раскидать по времени их заказа т.е. мне надо будет смотреть в каком часовом поясе стоит сервак и соответсвенно своему методу давать сдвижку в вычислениях?
Evgeny
спасибо! круто) только это вместо ->all()
Stas
чтобы не смотреть в каком часовом поясе стоит сервак, ставь в UTC, везде
ссыль как это делается (я предполагаю ставить часовой по гринвичу)? т.е поставить в пхп ини там где тайм зона UTC?
Ivan
Намного проще просто работать с \DateTime
Stas
он приводит по дефолту в ютц?
Stas
у меня скрипт блин скучеу ифов выходит если заказа попадает в такой день и такое время то одно если нет то другое и так 7 вариантов
Stas
воти сморю чтобы логика работала
Ivan
Он может всё
Ivan
Создать его можно с нужной таймзоной, переводить таймзону, вычитать
The Ant
для начала нада время одно сделать базовое, от которого отталкиваться
The Ant
в локали 1 таймзона, в бд другая
The Ant
из бд потом берешь время, оно снова меняется. и получается все криво косо
Stas
ок спасибо буду разбираться налокалке а потом на серваке