These are chat archives for yiisoft/yii2/rus

13th
May 2016
236286
@236286
May 13 2016 02:33 UTC
че там?
Vasily Belosloodcev
@bupy7
May 13 2016 03:18 UTC
@pandalowry да, в бд. Привет, Юра)
@RSalo добавляешь через PHP. по событию, или еще как-то.
Yury Izotov
@pandalowry
May 13 2016 03:20 UTC
@bupy7 тут от платформы зависит... В рельс - все на уровне приложения хранится даже ограничения и триггеры. Потому что легче сопровождать. В других технологиях - по другому, могут в БД наделать триггеров и констрейнов и потом с этим сидеть.
из плюсов хранения в приложении - только удобство сопровождения. Ну я сторонник такого подхода. За триггеры и тд на уровне БД - дофига народу у них аргументы скорость, мощь БД и так далее. Трудно с этим поспорить... Да и спорить неохота, они наверное правы. Но , для людей кто хочет более простого сопровождения все хранится на уровне приложения а не бд.
236286
@236286
May 13 2016 03:42 UTC
      <div class="images"> <img src="<?php echo Url::to('@web/me.jpg') ?>" alt="" />
ак правильно ссылки давать?
Vasily Belosloodcev
@bupy7
May 13 2016 04:17 UTC
@pandalowry у нас в приложении центром (читай сердцем) должен быть доменный слой (читай модель), а не БД. Все остальное - от лукавого. Да, быстрей через БД, ну и что? Сейчас вы все храните в БД, потом часть будет дергаться по API, и что дальше? Тонны переписанного кода? И будет ли он еще работать без багов - это никому не известно. Все прошлые тесты никаким боком не подойдут.
Но, раз у нас YII, то конечно, можно триггеры юзать прям в БД. В Yii можно все.
@pandalowry Юра вот раз на рельсах писал, то там все равно как-то по уму сразу сделали. Шаг влево, шаг вправо - расстрел. У нас тут беспредел. Многие MVC не знают что такое..
Yury Izotov
@pandalowry
May 13 2016 04:34 UTC
@bupy7 дык, че мне то обьяснять - в рельс так все и есть - шаг влево расстрел. И все храним на уровне приложения. Я сам за такой подход )
я и щас на рельс пишу. Может и на yii буду если раньше с ума не сойду от него
не в обиду будет сказано )
@bupy7 такшта, Вася, я тебя понимаю.
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:04 UTC
понимаешь Вася, сердцем может быть и AR , если там проект на пять табличек и пишется за n часов. А городить огород DDD совсем тут не к месту - от лукавого тут как раз наоборот.
Но я тебя понимаю, Вася.
И Юру понимаю - всех понимаю.
Вот у меня горе от ума, как раз. Проект простой, без сроков. Сделал его на симфе, плюнул - переписал на Yii2 за несколько часов, плюнул, опять переписываю - вообще без фреймворка ) Дизайн в html дастовляет боль, сложно всё самому...
И три раза переписываю только C по сути из MVC
зачем я тут вообще что то пишу
надо было мысли с утра в кучку собрать
ДЕД скажи, что я наркоман?
ДЕД
This message was deleted
DrDeath72
@DrDeath72
May 13 2016 05:17 UTC
я сплю
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:18 UTC
блин, извини меня.
DrDeath72
@DrDeath72
May 13 2016 05:19 UTC
наркоман хренов
@DrDeath72 xD
DrDeath72
@DrDeath72
May 13 2016 05:24 UTC
как меня залюбил постгрес со своим group by
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:24 UTC
DISTINCT же
или ты сменил?
DrDeath72
@DrDeath72
May 13 2016 05:24 UTC
толи я тупой после mysql толи он деревянный
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:24 UTC
старый ты уже
надо отдохнуть
поспи
DrDeath72
@DrDeath72
May 13 2016 05:24 UTC
хочу выдрать 2 последних id записей, но разных авторов
он мне начинает канифолить что то в ордер допиши, то в дистинкт, то еще куда, в итоге отдает шляпу
mysql вернул первую и в ус не дует
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:25 UTC
order by update_at, author_id group by author_id
DrDeath72
@DrDeath72
May 13 2016 05:26 UTC
SELECT
    DISTINCT ON ("t"."topic_user_id") topic_id, topic_user_id
FROM
    "blogs_topics" "t"
WHERE
    T .topic_tonews = TRUE
GROUP BY
    "t"."topic_user_id"
order by topic_time, "t"."topic_user_id" desc
хрена там
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:26 UTC
DISTINCT зачем?
DrDeath72
@DrDeath72
May 13 2016 05:26 UTC
SELECT
    topic_id, topic_user_id
FROM
    "blogs_topics" "t"
WHERE
    T .topic_tonews = TRUE
GROUP BY
    "t"."topic_user_id"
order by topic_time, "t"."topic_user_id" desc
ERROR: column "t.topic_id" must appear in the GROUP BY clause or be used in an aggregate function
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:26 UTC
не работает?
DrDeath72
@DrDeath72
May 13 2016 05:27 UTC
вот каким хреном он там должен быть
в итоге отдаст херь
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:28 UTC
По стандарту SQL при использовании GROUP BY все поля выборки должны быть либо завернуты в аггрегатную функцию, либо участвовать в выражении GROUP BY
DrDeath72
@DrDeath72
May 13 2016 05:29 UTC
не знаю в мускульке указал по чему сгруппировать и все отлично
первое отдает и все
если мне надо групировать по юзеру, сфига я должен писать по топику, чтоб оно это все по юзеру обратно разделила по топику
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:31 UTC
Have topic_id not null
)
DrDeath72
@DrDeath72
May 13 2016 05:32 UTC
не, это не в ту степь
я просто хочу 2 id последних топиков, но от разных юзеров
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:32 UTC
ты же этот запрос на прошлой неделе мучал
DrDeath72
@DrDeath72
May 13 2016 05:32 UTC
2 пальца на mysql
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:32 UTC
)
DrDeath72
@DrDeath72
May 13 2016 05:32 UTC
не этот
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:32 UTC
)
DrDeath72
@DrDeath72
May 13 2016 05:32 UTC
ненавижу гребанный постгрес
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:35 UTC
вы нам не подходите...
сегодня между прочим - пятница 13
не ругайтесь...
DrDeath72
@DrDeath72
May 13 2016 05:35 UTC
@githubjeka ты мне лучше запрос сочини чтоб эта тварь не орала)
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:36 UTC
я ? тебе? запрос?
а сам?
ты же ДЕД прожил 100 лет
ты могёшь!
МОГЁШЬ!!!
DrDeath72
@DrDeath72
May 13 2016 05:36 UTC
не могу чет)
тупой
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:37 UTC
не тупой - добрый, хороший дед. Просто чуточку устал...
DrDeath72
@DrDeath72
May 13 2016 05:39 UTC
не чуточку устал, а дико залюбился
но это не отменяет что запроса нет :D
DrDeath72
@DrDeath72
May 13 2016 05:46 UTC
SELECT
    *
FROM
    (
        SELECT DISTINCT
            ON (topic_user_id) *
        FROM
            blogs_topics
        WHERE
            topic_tonews = TRUE
        ORDER BY
            topic_user_id,
            topic_time DESC
    ) AS sosihuysuka
ORDER BY
    topic_time DESC
dj
во
DrDeath72
@DrDeath72
May 13 2016 05:57 UTC
алилуя братья
Evgeniy Tkachenko
@githubjeka
May 13 2016 05:59 UTC
алилюя
Maksim Kiselev
@MaksimKiselev
May 13 2016 05:59 UTC
Слава сатане) 666
DrDeath72
@DrDeath72
May 13 2016 06:00 UTC
бред писец :D
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:00 UTC
AS ASS
DrDeath72
@DrDeath72
May 13 2016 06:00 UTC
субд подзапрсоов мля
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:00 UTC
mysql прощает и делает его сам.
потому что понимает горе человека...
а там одни бандерлоги седят и слюнной от ума брыжжут
не хочу frontend делать, а надо :( Грёбанный JS
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:08 UTC
@githubjeka я вот недоверяю помощи mysql, по опыту только позволяет закладки неочевидные оставлять в Non-strict mode
Переехали на PG, всё как на ладони всплыло))
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:09 UTC
всплыло!
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:10 UTC
Переезжаем на новый сервер, теперь PG админить приходится из консоли, по тому что PhpPgAdmin для слабаков)
@githubjeka почему акцентировал внимание на этом слове?
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:10 UTC
уоуоу...миграции зачем?
SQL это хорошо, в БД вообще не смотрю...
всё на уровне PHP кода делается, через миграции
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:12 UTC
@githubjeka миграция с изменением структуры на РНР, да вы знаете толк в извращениях...
У меня bash скрипт на 1000 строк уже вырос, который за переезд и новую структуру отвечает.
Кто какую Linux DE предпочитает? Я вот cinnamon на убунту накатил, на моей печке после unity стало заметно легче.
Жаль MATE в Ubuntu как кусок говна выглядит((
Razzwan
@Razzwan
May 13 2016 06:35 UTC
@MKiselev значит, вы не понимаете удобства, которые предоставяет php Для изменения структуры
Aleksandr Demchenko
@stronglab
May 13 2016 06:35 UTC
@MKiselev mint cinnamon
Razzwan
@Razzwan
May 13 2016 06:37 UTC
@MKiselev у SQL-я есть множество непреодолимых на данный момент ограничений, которые легко решаются в php. Например, SQL невозможно дебажить в реальном времени. Невозможно виртуально тестировать (без того, чтоб заглядывать в БД). Да и вообще - SQL - это сплошные проблемы, когда он в чистом виде.
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:40 UTC
@Razzwan смотри, мне нужно переместить 100К записей из таблицы1 в таблицу2, у таблиц абсолютно разные структуры, найди мне способ проще и быстрее, чем INSERT SELECT запрос))) Таких таблиц несколько...
Yaroslav
@dyar74
May 13 2016 06:40 UTC
@MKiselev netbeans
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:41 UTC
@stronglab да я обожаю Mint, с оболочкой MATE, думаю хард на выходные домой взять, накатить заместо бубунты.
@dyar74 что нетбинс?
Yaroslav
@dyar74
May 13 2016 06:42 UTC
@MKiselev ide, мультиплатформенная
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:43 UTC
@dyar74 я разве вопрос про IDE задавал?
@dyar74 DE !== IDE
@dyar74 de == desktop environment
Yaroslav
@dyar74
May 13 2016 06:44 UTC
@MKiselev сори не дочитал
@MKiselev да я в курсе
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:44 UTC
@dyar74 Бывает, спасибо что с IDE помог, но я PHPStorm юзаю.
Камабот, передай спасибо @dyar74
KarmaBot
@KarmaBot
May 13 2016 06:44 UTC
Спасибо (+1) для @dyar74 принято! Текущая карма +66.
Yaroslav
@dyar74
May 13 2016 06:44 UTC
@MKiselev я его не осилил, спасибо и тебе
спасибо @MKiselev кармабот не спи
KarmaBot
@KarmaBot
May 13 2016 06:45 UTC
Спасибо (+1) для @MKiselev принято! Текущая карма +13.
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:45 UTC
@dyar74 а что там осиливать, я по мере необходимости нахожу плагины и сочетания клавиш.
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:46 UTC
@MKiselev 100К записей переносятся через миграцию, с применением этой миграции на тестовом сервере и проверкой тестов.
а не через bash скрипты в ручном режиме
DrDeath72
@DrDeath72
May 13 2016 06:49 UTC
omg...
WHERE     /* на сегодня */
                                        to_char(CT.time_date,'DD') = to_char(NOW(),'DD') AND
                                        to_char(CT.time_date,'MM') = to_char(NOW(),'MM') AND
                                        to_char(CT.time_date,'YYYY') = to_char(NOW(),'YYYY')
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:49 UTC
@githubjeka миграция между 2мя СУБД?
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:50 UTC
Почему нет, если это надо?
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:51 UTC
@githubjeka ты переезжал хоть раз с Mysql -> Postgres с проектом который сложнее блога?
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:53 UTC
переезжание? Накатывание миграции на другую СУБД решается за счёт использования DAO. Это вообще не зависит от СУБД.
а перенос данных - это вообще не миграций дело. Оно не должно знать какие там данные хранятся. Она оперирует структурой
мы про разные вещи говорим.
Maksim Kiselev
@MaksimKiselev
May 13 2016 06:56 UTC
@githubjeka видимо. В общем в проекте не было вообще миграций, создать их через gii я только сейчас догадался, переезд делается через стороннюю утилиту, структура меняется через bash скрипт в котором идут запросы к psql, главное, что всё отрабатывает очень быстро, отключение сервиса на некоторое время не критично, особенно ночью.
Evgeniy Tkachenko
@githubjeka
May 13 2016 06:57 UTC
ну а как мне как разработчику быстро поднять у себя копию БД? dump ? хехе
миграции нужны
всегда
и на уровне приложения
в БД вообще не надо лезть.
Maksim Kiselev
@MaksimKiselev
May 13 2016 07:05 UTC
@githubjeka ну не было миграций и нет, я просто джун учусь всему этому)) А так да, все данные дампом накатывались, ведь без данных даже с миграциями какой толк-то?
Yaroslav
@dyar74
May 13 2016 07:11 UTC
@MKiselev есть расширение, создает миграции с текущей БД
@MKiselev единственное что не схавало это составные прамери ключи, я потом миграцию руками поправил
DrDeath72
@DrDeath72
May 13 2016 07:11 UTC
хоспади, каждый дрочет как хочет :D
Yaroslav
@dyar74
May 13 2016 07:11 UTC
:)
@DrDeath72 :+1:
я так понимаю, вообще по феншую надо таблицы через миграции стразу создавать
но с другой стороны замучишся если надо перенести БД руками миграции писать
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:13 UTC
миграция меняет, дополняет структуру бд, учитывая хранящиеся данные. Они не в коем случае не должны быть потеряны. Переезд на другую БД решается путём запуска всех миграций для новой БД и последующим ручным переносом данных из одной бд в другую - один раз. Это не задача приложения, поэтому тут bash может пригодиться. один раз запустив его, он уже не нужен - может быть удалён. Так что про bash тот и никто не знает. Я же говорю про другое: phpMyadminы всякие идут стороной при разработке приложения, только миграции. Иначе так и останетесь на уровне джумлы бумлы и будете решать проблемы, которых не должно вообще возникать.
Yaroslav
@dyar74
May 13 2016 07:13 UTC
я копии таблиц делал через schema, но мне не нужны были данные только структура
DrDeath72
@DrDeath72
May 13 2016 07:14 UTC
@githubjeka красиво звучит, но к реальности очень далеко)
Yaroslav
@dyar74
May 13 2016 07:14 UTC
@DrDeath72 это факт
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:14 UTC
не далеко
DrDeath72
@DrDeath72
May 13 2016 07:14 UTC
ты просто в теплице взрощен)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:14 UTC
)
DrDeath72
@DrDeath72
May 13 2016 07:15 UTC
я вот хз как бы я щас твои миграции-херации тут еще сидел бы лепил
Yaroslav
@dyar74
May 13 2016 07:15 UTC
так можно из приложения манипулировать БД на уровне создания таблиц
может это и не правильно
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:15 UTC
на уровне миграций правильно
в самом приложении конечно же нет
DrDeath72
@DrDeath72
May 13 2016 07:16 UTC
@githubjeka ты их ваще откатывал когда нибудь?
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:16 UTC
да
постоянно
DrDeath72
@DrDeath72
May 13 2016 07:16 UTC
имхо для стороних вещей нужны, когда создали/удалили за собой
для расширений
или когда 10 человек кодит
а я тут сижу один в куче ковыряюсь, нахера мне миграции?
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:17 UTC
ну я понимаю, тесты вы не пишете, миграции тоже...
DrDeath72
@DrDeath72
May 13 2016 07:17 UTC
слушай у меня тут один большой 10 летний кусок говна
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:17 UTC

нахера мне миграции?

да потому что это экономит время

DrDeath72
@DrDeath72
May 13 2016 07:17 UTC
я его тупо выводить на yii уже задолбался
какие нахер тесты)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:18 UTC
кусок 10 летнего смотря как оплачивается, если за неделю работы, то я бы даже не брался )
DrDeath72
@DrDeath72
May 13 2016 07:18 UTC
зарплатой он оплачивается)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:18 UTC
окладом?
DrDeath72
@DrDeath72
May 13 2016 07:18 UTC
да это кусок того где я работаю)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:19 UTC
значит объясняешь, тут говно и чтобы переписать нужно почти всё заново писать с тестами и по феншую, двигаясь оЧЕНЬ ОЧЕНЬ маленькими шагами. Вы готовы это растянуть на 10 лет и платить мне? Нет ... я отказываюсь тогда
DrDeath72
@DrDeath72
May 13 2016 07:20 UTC
дак я заново и пишу
пока хотя бы вывод того что есть
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:20 UTC
в твоём случае делаешь тяп ляп, и даже не вспоминаешь про это.
а то начинается, у меня кусок говна и по феншую это никогда не сделать...
Сделать...только не сегодня, в пятницу 13
DrDeath72
@DrDeath72
May 13 2016 07:21 UTC
че тестить то не скажешь?)
дернул, вывел
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:21 UTC
unit
все где вывел, хотябы на 200ОК проверку написать
не надо руками
DrDeath72
@DrDeath72
May 13 2016 07:22 UTC
да я как бы и в браузере вижу :D
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:22 UTC
ну ок
ты могуч, всё контролируешь
Yaroslav
@dyar74
May 13 2016 07:23 UTC
еще в консоли
и еще пользователи тестят
:)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:23 UTC
+
если что мой рабочий внизу страницы указан, позвонят )
DrDeath72
@DrDeath72
May 13 2016 07:23 UTC
че контролировать то? :D то что новость из базы дернулась и нарисовалась?)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:23 UTC
ага
Yaroslav
@dyar74
May 13 2016 07:24 UTC
я вон уже две недели прошу чтобы мне виртуалку выделили пот гит сервер, а то надоело копировать с дева в прод версию
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:24 UTC
иначе потом в AR поменял что нибудь, а она уже не показалась и позвонят тебе. А ты а ёпт, ну 5 сек, шча будет работать.
Yaroslav
@dyar74
May 13 2016 07:24 UTC
@githubjeka так и есть :)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:24 UTC
знаю знаю
Yaroslav
@dyar74
May 13 2016 07:24 UTC
особенно если учесть что кусок г писался двадцать лет до тебя и там еще куча костылей :)
Evgeniy Tkachenko
@githubjeka
May 13 2016 07:24 UTC
сам так делаю
это я вам тут философию из интернетов копипастю
и выдаю за свою )
Yaroslav
@dyar74
May 13 2016 07:25 UTC
у меня пару дней назад баг вылез в файлах asc powerdynamo
целый день дебажил искал ошибку
Semion Zuev
@spyke113
May 13 2016 08:35 UTC
парни, туплю, хэлп. как в defaultRoute запихнуть GET-параметр?
Razzwan
@Razzwan
May 13 2016 08:37 UTC
@MKiselev миграции легко с этим справляются. Причем количество строк, которое тебе придется написать, используя миграции в разы меньше, чем если ты будешь писать на чистом SQL. Более того, это можно будет достаточно просто тестировать и вернуть назад в случае, если где-то ошибся в логике.
Konstantin Sirotkin
@beowulfenator
May 13 2016 08:57 UTC
@Razzwan ну вернуть назад можно будет только если ты напишешь обратную миграцию, а это тоже кусок работы
(если что, я так и делаю - все в миграциях)
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:00 UTC
@Razzwan покажи пример как мне из таблицы tv(id, cost, owner) в EAV model переделать с помощью миграций?
Konstantin Sirotkin
@beowulfenator
May 13 2016 09:00 UTC
а в чем проблема - выборка, преобразование, вставка
миграция - это ж не только sql
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:01 UTC
@beowulfenator проблема в преобразовании!
Скорость очень низкая получается.
Konstantin Sirotkin
@beowulfenator
May 13 2016 09:02 UTC
и что с того?
лишь бы памяти хватило
это ж разово
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:02 UTC
@beowulfenator памяти на серве тоже очень мало, вся таблица не влезет.
Konstantin Sirotkin
@beowulfenator
May 13 2016 09:02 UTC
даю ценный совет :)
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:02 UTC
на батчи делить не хочу
короче, я уверен, что эта задача проще, а главное НА МНОГО БЫСТРЕЕ решается средствами SQL!
Konstantin Sirotkin
@beowulfenator
May 13 2016 09:03 UTC
        //create separate db connection for jobs
        $unbufferedDb = new \yii\db\Connection([
            'dsn' => Yii::$app->db->dsn,
            'username' => Yii::$app->db->username,
            'password' => Yii::$app->db->password,
            'charset' => Yii::$app->db->charset,
        ]);
        $unbufferedDb->open();
        $unbufferedDb->pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

        //get all active jobs with duplicate status
        $query = Job::find()->where(['status_key' => Job::STATUS_ACTIVE])->andWhere('duplicate_of IS NOT NULL')->with(['company']);
        foreach ($query->batch(1000, $unbufferedDb) as $batch) {

        }
это если у тебя MYSQL и база какая-то гигантская
надо отключить буферизацию
памяти на серве тоже очень мало, вся таблица не влезет.
а сервер MySQL, надо полагать, безразмерный, и память на нем никогда не кончается
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:08 UTC
@beowulfenator явно память не тратится на создание заполнение всяких AR. Ещё же раз говорю, очень важна скорость!
Во вторых это всё надо переносить между MySQL и PG
Vasily Belosloodcev
@bupy7
May 13 2016 09:09 UTC
@MKiselev AR выжирает нормально памяти как бэ))) у тебя чо там за сервак? облако?
Alexey Rogachev
@arogachev
May 13 2016 09:10 UTC

и еще пользователи тестят

:smile: :smile: :smile: :+1:

Maksim Kiselev
@MaksimKiselev
May 13 2016 09:11 UTC
@bupy7 я как бы @beowulfenator и говорю на создание AR много памяти юзается.
Alexey Rogachev
@arogachev
May 13 2016 09:11 UTC
ну если разово переносить, почему бы обычными запросами не написать?
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:11 UTC
@arogachev я запросами и сделал, разово надо переехать на PG.
Vasily Belosloodcev
@bupy7
May 13 2016 09:12 UTC
@MKiselev PG = PostgreSQL?
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:13 UTC
@arogachev ты за год историю прочитал?
Alexey Rogachev
@arogachev
May 13 2016 09:14 UTC
@githubjeka не понял шутки
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:15 UTC
в 12 10 ты откоментировал, что было давно, вот и подумал: Тебя давно не было, читаешь ты старые сообщения - может ты всё это время, что тебя не было, читал историю сообщений; Шутка не удалась :(
Alexey Rogachev
@arogachev
May 13 2016 09:17 UTC
за все время конечно не читал) но кое-что читаю
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:20 UTC
This message was deleted
This message was deleted
KarmaBot
@KarmaBot
May 13 2016 09:20 UTC
@githubjeka, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:20 UTC
@arogachev
KarmaBot
@KarmaBot
May 13 2016 09:20 UTC
Спасибо (+1) для @arogachev принято! Текущая карма +16.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:21 UTC
скр скр скр @ostashevdv
KarmaBot
@KarmaBot
May 13 2016 09:21 UTC
Спасибо (+1) для @ostashevdv принято! Текущая карма +26.
Alexey Rogachev
@arogachev
May 13 2016 09:23 UTC
stack = спасибо? )
KarmaBot
@KarmaBot
May 13 2016 09:23 UTC
@arogachev, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Alexey Rogachev
@arogachev
May 13 2016 09:23 UTC
@githubjeka скр 3x
@githubjeka скр скр скр
лол
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:24 UTC
скр скр скр @arogachev
KarmaBot
@KarmaBot
May 13 2016 09:24 UTC
Спасибо (+1) для @arogachev принято! Текущая карма +17.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:24 UTC
ack
*ack
vjadack
asdtack
KarmaBot
@KarmaBot
May 13 2016 09:25 UTC
@githubjeka, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:25 UTC
tack
KarmaBot
@KarmaBot
May 13 2016 09:25 UTC
@githubjeka, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:25 UTC
tac
tack
KarmaBot
@KarmaBot
May 13 2016 09:25 UTC
@githubjeka, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:25 UTC
pack
ta
tack
KarmaBot
@KarmaBot
May 13 2016 09:25 UTC
@githubjeka, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Evgeniy Tkachenko
@githubjeka
May 13 2016 09:26 UTC
таск
такк
tacc
tack
KarmaBot
@KarmaBot
May 13 2016 09:26 UTC
@githubjeka, в этом чате принято добавлять имя пользователя, чтобы его поблагодарить.
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:28 UTC
Посоветуйте тайм-трекер для эмплоера, чтобы скриншоты экрана делал, зарплату считал
Maksim Kiselev
@MaksimKiselev
May 13 2016 09:34 UTC

@bupy7

@MKiselev PG = PostgreSQL?

Угу.

Yaroslav
@dyar74
May 13 2016 09:40 UTC
@spyke113 array_merge
Mike D
@LinGG
May 13 2016 11:06 UTC
Ребята, всем ку. подскажите мож есть у кого опыт, получения sql из критерии yii 1
у меня есть грид, там есть датапровайдер в котором критерия. мне надо получить все id всех записей подходящих под эту критерию. AR понятное дело - мертвое. а CommandBuilder не подвязывает джойны с with массива критерии
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:21 UTC
@LinGG с with и не будет джойнов)
with создает рекурсивные запросы, ну в Yii2 так, не думаю что API AR поменялось.
@LinGG попробуй with заменить на joinWith, тогда и join появятся, но скорость выполнения запроса очень упадет
Mike D
@LinGG
May 13 2016 11:24 UTC
погоди
если в критерии есть with = array('address') и я потом в condition пишу 'address.street = "blabla"'
оно сджонит автоматом же? а если together = true то все элементы из with сджойнит сразу
ну это я так думал, что именно так работает AR
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:27 UTC
@LinGG ты понимаешь отличие работы with от joinWith?
Mike D
@LinGG
May 13 2016 11:28 UTC
@MKiselev такого параметра нет в критерии
если ты по yii2 судишь, я думаю там по другому
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:28 UTC
@LinGG ну я гляжу в Api yii 1.1, там да, по другому, так что читай доку))
Mike D
@LinGG
May 13 2016 11:28 UTC
да уже все изчитал
тут один выход. мне надо получить генеренный sql
как ни крути
либо как-то заставить билдер парсить with, но мне кажется это сложнее
@MKiselev а что значит рекурсвиные запросы?
типа сначала запрос, потом запрос к результату этого запроса?
DrDeath72
@DrDeath72
May 13 2016 11:38 UTC
кто в шторме?
@LinGG билдер с with насколько помню не работает
делал аналог asArray()
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:42 UTC
@LinGG не знаю точно, рекурсивные ли запросы генерирует AR YII2(поправьте меня гугу, если я не прав), но суть в том, что допустим берется 100 записей, у них есть relation объект, где уникальных связанных объектов всего 2(например список людей и родной город), но чтобы не тащить для всех 100 записей ещё 100 объектов, конструкция with('relationName') AR сначало достанет 100 объетов, а затем 2 relation объекта, т.е. будет в итоге select * from users limit 100 и select * from cities where id in (666,777)
@DrDeath72 я на шторме сижу)
@DrDeath72 вчера через шторм на велике ехал, довольно стремно))
DrDeath72
@DrDeath72
May 13 2016 11:42 UTC
@MKiselev когда пишешь например Html: он подставляет namespace
Mike D
@LinGG
May 13 2016 11:42 UTC
@MKiselev ну я так же делаю кстати, только вот id сначала надо получить, чтобы потом в IN юзать
фиг знает че быстрее, и если ID будет 100к запрос будет слишком длинный
DrDeath72
@DrDeath72
May 13 2016 11:43 UTC
но иногда он его сам ставит в use а иногда тупо по месту полный пишет, не могу понять от чего зависит, хочу в use :D
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:44 UTC
@DrDeath72 сейчас...
vitaliy
@vitaliy-pashkov
May 13 2016 11:44 UTC
@LinGG будет в итоге select * from users limit 100 и select * from cities where id in (666,777)
это в Yii2
Yii join генерил
Yii1 *
Mike D
@LinGG
May 13 2016 11:46 UTC
@vitaliy-pashkov интересно... а если будет дофига значений в IN
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:47 UTC

@DrDeath72 File->settings->Editor->Inspections->Unnecessary fully qualified name включи его.

Если он включен, то попробуй Alt + Enter -> import class...

vitaliy
@vitaliy-pashkov
May 13 2016 11:48 UTC
@LinGG насколько понял - это было сделано из-за добавления поддержки NoSql. По производительности join и in - примерно одинаковые, насколько я читал.
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:48 UTC
@LinGG а в чем проблема, в курсе что такое индексы и как ими пользоваться?
DrDeath72
@DrDeath72
May 13 2016 11:48 UTC
включен вроде...
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:48 UTC
@vitaliy-pashkov на счет производительности хз, но трафика между БД и приложением с IN явно меньше.
DrDeath72
@DrDeath72
May 13 2016 11:49 UTC
alt enter ниче не адет
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:49 UTC
@DrDeath72 у меня бывало не импортировало когда во вьюшке ни одно use не было и/или открывающих тегов рнр
DrDeath72
@DrDeath72
May 13 2016 11:49 UTC
да во вьюшках в основном тычет полнсотью
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:50 UTC
@DrDeath72 попробуй первый use в ручную описать.
DrDeath72
@DrDeath72
May 13 2016 11:50 UTC
дак лень матушка)
Vasily Belosloodcev
@bupy7
May 13 2016 11:51 UTC
Мне в ВК написал чувак какой-то. Говорит на Yii2 сделает за неделю копию: https://spb.realty.mail.ru/
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:53 UTC
@DrDeath72 у меня вот работает Alt + Enter по названию класса с указанием namespace, предлагает импорт.
@DrDeath72 именно по названию класса, а не namespace сделай, прям курсор поставь туда))
vitaliy
@vitaliy-pashkov
May 13 2016 11:53 UTC
кстати, наткнулся на то, что несколько для нескольких joinWith - populate не правильно отрабатывает при пересечении имён полей. в yii2 почему-то отказались от алиасов. пришлось писать свой костыль для алиасов и populate.
DrDeath72
@DrDeath72
May 13 2016 11:54 UTC
@MKiselev ага спасибо
KarmaBot
@KarmaBot
May 13 2016 11:54 UTC
Спасибо (+1) для @MKiselev принято! Текущая карма +14.
Vasily Belosloodcev
@bupy7
May 13 2016 11:54 UTC
@vitaliy-pashkov нормально там все)
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:54 UTC
@DrDeath72 работает же?
DrDeath72
@DrDeath72
May 13 2016 11:54 UTC
ды
Evgeniy Tkachenko
@githubjeka
May 13 2016 11:55 UTC
<div>
<?php
\Yii:$app->user->identity->saveActiviti(Url:to(), 'на этой странице был юзер. Логи сразу в html.');
?>
</div>
вот что я придумал. Yii2 мне запрещает этого делать. Крутяк же ж
\Yii::$app->request ещё могу сразу в html
DrDeath72
@DrDeath72
May 13 2016 11:56 UTC
https://github.com/malsup/form/ ниче нынче посвежей не появлялось? :D
Evgeniy Tkachenko
@githubjeka
May 13 2016 11:56 UTC
появилось
тут юзал не давно
vitaliy
@vitaliy-pashkov
May 13 2016 11:57 UTC
@bupy7 with - нормально. joinWith - нет и теоритически не может быть нормально, поскольку без алиасов названия колонок для него смешиваются.
Maksim Kiselev
@MaksimKiselev
May 13 2016 11:57 UTC

@vitaliy-pashkov эм... это где это от алиасов отказались:?

Enh #2377: Allow specifying a table alias when joining relations via joinWith() (cebe, nainoon)
Enh #4972: Added yii\db\ActiveQuery::alias() to allow specifying a table alias for the model table without having to know the name (cebe, stepanselyuk)

Evgeniy Tkachenko
@githubjeka
May 13 2016 11:57 UTC
ай потерял ссылку
DrDeath72
@DrDeath72
May 13 2016 11:57 UTC
@githubjeka блин 3 минуты и я домой)
в исходниках глянь)
основной посыл чтоб файлы слало аяксом
Vasily Belosloodcev
@bupy7
May 13 2016 11:59 UTC
@vitaliy-pashkov в каком месте смешивается? Второй год юзаю, чот не замечал.
DrDeath72
@DrDeath72
May 13 2016 11:59 UTC
лfдно пофиг, в понедельник :D
Mike D
@LinGG
May 13 2016 11:59 UTC
@MKiselev дофига значений это когда запрос будет настолько длинный что превысит все лимиты
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:00 UTC
@LinGG узгабойся, если у тебя рили много записей, то Yii2 просто не сможет обработать их все, т.к. AR явно больше памяти использует, чем SQL запрос.
Mike D
@LinGG
May 13 2016 12:01 UTC
@MKiselev так никто про AR не говорит, ты можешь критерию юзать и с билдером
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:02 UTC
@LinGG нам не о чем спорить, просто попробуй достать 10000 записей sql, и 10000 записей через Юи.
ostashevdv
@ostashevdv
May 13 2016 12:06 UTC
@githubjeka скр скр скр
Evgeniy Tkachenko
@githubjeka
May 13 2016 12:06 UTC
не прошло и пол дня
ostashevdv
@ostashevdv
May 13 2016 12:06 UTC
пятница же... завал
эй бот
Mike D
@LinGG
May 13 2016 12:07 UTC
@MKiselev да я и не спорил, yii делает тоже самое, только тратит время на prepare sql запроса алиасы баунды и тп. код то на выходе sql точно такой же
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:07 UTC
This message was deleted
Vasily Belosloodcev
@bupy7
May 13 2016 12:07 UTC
@LinGG нет, не такой же. он окрещен))
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:08 UTC
@LinGG я тебе говорю, СУБД схавает тяжелый запрос, обосрётся, но даст результат, РНР же пытаясь обработать это результат тупо вывалится по лимиту памяти.
vitaliy
@vitaliy-pashkov
May 13 2016 12:09 UTC

я немного не про то.

$object = \app\models\Object::find()->with(['address','superObject.address'])->asArray()->one();

выдаст нормальный объект

$object = \app\models\Object::find()->joinWith(['address','superObject.address'])->asArray()->one();

выдаст SQL ошибку Duplicate alias: 7 ERROR: table name "address" specified more than once

где object и superObject имеют связь с address
при дублировании полей, насколько помню ошибки не будет, но populate сработает не правильно (здесь могу ошибаться)
lynicidn
@lynicidn
May 13 2016 12:11 UTC
$this->hasOne(Address::class, ['id' => 'address_id'])->alias('object_address');
vitaliy
@vitaliy-pashkov
May 13 2016 12:12 UTC
ну про ручные алиасы я не спорю. в yii1, просто автоматом прописывались алиасы типа 't_f1', 't_r1-f2' и там такой проблемы не возникало.
lynicidn
@lynicidn
May 13 2016 12:13 UTC
а условие накладывать?
w0.ysername = $username
vitaliy
@vitaliy-pashkov
May 13 2016 12:14 UTC
ну у всего есть свои минусы) можно было например так же транслировать условия по релейшену.
но в with реализованный на IN - невозможно, например отсортировать по полю релейшена
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:17 UTC
@vitaliy-pashkov чому? можно же алиас через пробел к релейшену добавить.
vitaliy
@vitaliy-pashkov
May 13 2016 12:19 UTC
@MKiselev можно, но за этим надо специально следить.
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:28 UTC
Помогите, можно ли определить AR relation с использованием PostgreSQL функции least между полями 2х других relation?
mr G1K
@G1K
May 13 2016 12:30 UTC
Всем привет. Кто нибудь решал такую задачку. хранить копии текста , но хранить их инкриментно чтобы была только первая версия , и ее патчи diff ы версии. Как реализовать такое на php с веб интерфейсом . без того же git . Может кто подскажет направление и что лучше использовать в качестве хранилища
KarmaBot
@KarmaBot
May 13 2016 12:30 UTC
@SashaFAQ, здравствуй.
mr G1K
@G1K
May 13 2016 12:30 UTC
@KarmaBot и тебе не хворать
@KarmaBot спасибо
KarmaBot
@KarmaBot
May 13 2016 12:31 UTC
@SashaFAQ, не за что, я всегда к твоим услугам =)
Спасибо (+1) для @KarmaBot принято! Текущая карма +261.
lynicidn
@lynicidn
May 13 2016 12:32 UTC
@G1K wiki движки тебе нужны
yii-wekyii
для уии1
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:39 UTC

Помогите, можно ли определить AR relation с использованием PostgreSQL функции least между полями 2х других relation?

2 других relation, это Value от EAV модели, мне нужно третье relation сделать, которое выберет наименьшее Value.value, чтобы потом сортировать, фильтровать по нему))

Andrey
@DevAndreyL
May 13 2016 12:42 UTC
Кто сталкивался с Protocol 'https not supported or disabled in libcurl?
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:43 UTC

@DevAndreyL

Create a script called info.php and in it put <?php phpinfo(); ?>. Save it somewhere on your site so you can access it from a browser.
Find the curl section and check what Protocols are supported. If https is not listed, then cURL was not built with SSL support and you cannot use https.
You can also look in the very first section for Registered PHP Streams and see if https is listed. If so, then you can fallback to use PHP's socket functions or functions such as file_get_contents() or fopen with a context.
Since you mention you are on a shared host, request that your host recompile PHP so that both PHP and curl are built with OpenSSL support so you can use encryption, otherwise you will need to find another solution.

This message was deleted
@KarmaBot помоги@DevAndreyL гугли protocol https not supported or disabled in libcurl php
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:45 UTC
@KarmaBot ты такой глупый, ппц((
Andrey
@DevAndreyL
May 13 2016 12:45 UTC
@MKiselev Этот ответ я нагуглил, в это у меня есть
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:47 UTC

@DevAndreyL давай по шагам.

Find the curl section and check what Protocols are supported. If https is not listed, then cURL was not built with SSL support and you cannot use https.

SSL Protocol есть в cURL section результата phpinfo()?

Andrey
@DevAndreyL
May 13 2016 12:47 UTC
на http тоже not support
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:48 UTC
@DevAndreyL локально или на сервере?
Andrey
@DevAndreyL
May 13 2016 12:56 UTC
И там и там
Из консоли отправляет нормально
DrDeath72
@DrDeath72
May 13 2016 12:58 UTC
@githubjeka не про FormData речь? Вроде юзал тоже когда то для файлов...
Andrey
@DevAndreyL
May 13 2016 12:58 UTC
И file_get_contents возвращает false
Evgeniy Tkachenko
@githubjeka
May 13 2016 12:58 UTC
@DrDeath72 неа....
@DrDeath72 прости, если обнадёжил )
DrDeath72
@DrDeath72
May 13 2016 12:58 UTC
пох, его заюзаю
Maksim Kiselev
@MaksimKiselev
May 13 2016 12:59 UTC
@DevAndreyL что значит из консоли отправляет нормально?
Andrey
@DevAndreyL
May 13 2016 13:00 UTC
Из консоли запрос
Oleg
@ezoterik
May 13 2016 13:02 UTC
@githubjeka тьху, походу можно было и не запариваться 😳 yiisoft/yii2@5210fc8
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:13 UTC
@ezoterik ну у тебя с тестом же
у тебя круче ;)
Oleg
@ezoterik
May 13 2016 13:14 UTC
но я так понимаю пролетает все равно ))
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:14 UTC
он наверное просто не заметил, что есть уже PR
Oleg
@ezoterik
May 13 2016 13:15 UTC
а я ишью этот не смог найти (хотя пытался). Ну отпишусь там. Но первый опыт был интересным и увлекающим :)
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:18 UTC
Ребя научите тесты делать, глобально codeception подключил, к проекту yiisoft/yii2-codeception в require-dev добавил, composer update сделал.
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:20 UTC
в advanced же есть уже готовые
попробуй с ними поэксперементировать. Там уже всё настроено
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:20 UTC
@githubjeka у нас на basic шаблоне приложение.
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:20 UTC
а там нет tests?
Oleg
@ezoterik
May 13 2016 13:21 UTC
там тоже есть
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:21 UTC
@ezoterik первый блин комом ;)
Oleg
@ezoterik
May 13 2016 13:21 UTC
@MKiselev вот зубодробительный (по времени) урок :) https://www.youtube.com/watch?v=gRmEpUYaS20
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:22 UTC
@ezoterik от того самого чувака с вебинарами (с)?)))
lynicidn
@lynicidn
May 13 2016 13:23 UTC
елисдн
Oleg
@ezoterik
May 13 2016 13:23 UTC
@MKiselev Ага :) И по идее в basic не нужно ничего подключать самому. Там в проекте должен быть файл /tests/README.txt в котором есть инструкции как их запустить
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:23 UTC
лсдн
lynicidn
@lynicidn
May 13 2016 13:24 UTC
да он там нагородил ппц
у него 3 или 4 конфига
:D
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:24 UTC
в других фреймворах вы это должны всё сами настраивать и организовывать
а тут только запустить codecept run
lynicidn
@lynicidn
May 13 2016 13:25 UTC
bootstrap
build
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:25 UTC
ах блин )
@lynicidn спасибо
KarmaBot
@KarmaBot
May 13 2016 13:25 UTC
Спасибо (+1) для @lynicidn принято! Текущая карма +58.
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:26 UTC

codecept bootstrap
codecept buid
codecept run

Codeception PHP Testing Framework v2.0.16
Powered by PHPUnit 4.7.7 by Sebastian Bergmann and contributors.

Functional Tests (0) ------------------------

Unit Tests (0) ------------------------------

Acceptance Tests (0) ------------------------

Time: 153 ms, Memory: 8.00MB

No tests executed!

Evgeniy Tkachenko
@githubjeka
May 13 2016 13:27 UTC
крутяк
осталось кинуть в папочку тест
Oleg
@ezoterik
May 13 2016 13:27 UTC
@MKiselev я один раз такое видел, когда человек не в той директории запускал эти команды
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:27 UTC
)
lynicidn
@lynicidn
May 13 2016 13:27 UTC
codecept generate:unit
)))
Oleg
@ezoterik
May 13 2016 13:27 UTC
там же есть чуть стандартных, значит не может быть по нулям тестов
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:28 UTC
path/to/project/with/basic/template/tests/codeception$ codecept run
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:28 UTC
из этой директории надо выполинть
ну и чё?
по нулям?
lynicidn
@lynicidn
May 13 2016 13:28 UTC
nope
из tests
Oleg
@ezoterik
May 13 2016 13:28 UTC
да, вроде из tests
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:28 UTC
это если глобально
lynicidn
@lynicidn
May 13 2016 13:28 UTC
конфиг там
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:28 UTC
а ааа basic же
ёпт
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:29 UTC
Стопэ ребят))
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:29 UTC
там где codeception.yml
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:29 UTC
действительно из /tests/, сейчас конфиг к бд поправлю))

Codeception PHP Testing Framework v2.0.16
Powered by PHPUnit 4.7.7 by Sebastian Bergmann and contributors.

Functional Tests (4) ------------------------------------------------------------------------------------------------
Ensure that about works (AboutCept) Fail
Ensure that contact works (ContactCept) Fail
Ensure that home page works (HomeCept) Fail

Ensure that login works (LoginCept) Fail

Unit Tests (4) --------------------------------------------------------------------------------------------------------
Test contact (tests\codeception\unit\models\ContactFormTest::testContact) Ok
Test login no user (tests\codeception\unit\models\LoginFormTest::testLoginNoUser) Error
Test login wrong password (tests\codeception\unit\models\LoginFormTest::testLoginWrongPassword) Error

Test login correct (tests\codeception\unit\models\LoginFormTest::testLoginCorrect) Error

Acceptance Tests (4) ------------------------------------------------------------------------------------------------
Ensure that about works (AboutCept) Error
Ensure that contact works (ContactCept) Error
Ensure that home page works (HomeCept) Error

Ensure that login works (LoginCept) Error

Time: 970 ms, Memory: 24.00MB

KarmaBot
@KarmaBot
May 13 2016 13:34 UTC
@MKiselev, у нас тут принято писать кратко и по делу. А если нужно показать длинный код, то можно использовать pastebin-сервис, например gist.github.com или laravel.io/bin.
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:35 UTC
Всё, теперь свои тесты делать?))
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:35 UTC
да
lynicidn
@lynicidn
May 13 2016 13:35 UTC
надо чтобы эти проходили вначале :monkey:
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:35 UTC
эти можешь перенести в отдельную папку, и подсматривать
у него там уже всё по другому
Maksim Kiselev
@MaksimKiselev
May 13 2016 13:36 UTC
@lynicidn Они не будут проходить, это же стандартные тесты, а приложение логику стандартной поставки поменяло.
Oleg
@ezoterik
May 13 2016 13:36 UTC
да, такое ощущение, что ты по readme не все настроил (может хост не прописал в конфиг), а то подозрительно, что прямо все так падает, хотя, может, действительно у тебя все по другому...
Oleg
@ezoterik
May 13 2016 13:40 UTC
@githubjeka о, ну хоть тест не зря писал :)) так что только на половину первый блин комом :)
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:42 UTC
но комом
Oleg
@ezoterik
May 13 2016 13:43 UTC
😢 нужно походу прокачивать скил поиска issues
Evgeniy Tkachenko
@githubjeka
May 13 2016 13:44 UTC
да и samdark сам не заметил, так что тут просто случайность.
Evgeniy Tkachenko
@githubjeka
May 13 2016 14:00 UTC

ПА КОНЯМ

Maksim Kiselev
@MaksimKiselev
May 13 2016 14:29 UTC

@ezoterik

может хост не прописал в конфиг

Прописал.

Maksim Kiselev
@MaksimKiselev
May 13 2016 14:37 UTC
Настройки БД для тестирования подойдет основная или нужно отдельно базу запилить?
Oleg
@ezoterik
May 13 2016 14:38 UTC
отдельную
Maksim Kiselev
@MaksimKiselev
May 13 2016 14:39 UTC
У меня шторм не подхватил namespace для Codeception, как пофиксить?))
И наверное не подхватит, он глобально установлен.
Oleg
@ezoterik
May 13 2016 14:47 UTC
@MKiselev в include path можно указать путь
Maksim Kiselev
@MaksimKiselev
May 13 2016 14:47 UTC
@ezoterik спасибо
KarmaBot
@KarmaBot
May 13 2016 14:47 UTC
Спасибо (+1) для @ezoterik принято! Текущая карма +16.
Oleg
@ezoterik
May 13 2016 14:48 UTC
Скриншот 2016-05-13 17.47.50.png
вот как у меня
Maksim Kiselev
@MaksimKiselev
May 13 2016 14:51 UTC
@ezoterik да, так же сделал))
Denis Sevostyanov
@den67rus
May 13 2016 16:00 UTC
Столкнулся с непонятной ситуацией. На сайте сделал полностью ajax навигацию по страницам без использования pajax своя реализация работы. Данные вставляются в div контейнер с определенным id с помощью $('#content').html(data); библиотеки jquery. Проблема заключается в следующем при путешествии по страницам с формами где установлена reCapcha отображается только один раз, затем блок с рекапчей не отображается... то есть отображается только один раз!
Andrey
@DevAndreyL
May 13 2016 16:09 UTC
Если я юзаю екстеншин, который имеет таблицу пользователей, и AR модель, и мне нужно добавить еще 1 поле к этой модели, какие варианты решения есть? Будет ли работать, если я создам свою AR и отнаследую от той, что в екстеншине?
lynicidn
@lynicidn
May 13 2016 16:11 UTC
да
  • миграцию
\
\
+
Andrey
@DevAndreyL
May 13 2016 16:12 UTC
Да, поле добавить в миграцию, и в своей модели просто правила переопределить?
@lynicidn Спасибо
KarmaBot
@KarmaBot
May 13 2016 16:12 UTC
Спасибо (+1) для @lynicidn принято! Текущая карма +59.
lynicidn
@lynicidn
May 13 2016 16:13 UTC
да
array_merge(parent::rules(),[
['newAttribute', 'rule]
]);
mr G1K
@G1K
May 13 2016 17:30 UTC

@lynicidn спасибо за

wiki движки тебе нужны

KarmaBot
@KarmaBot
May 13 2016 17:30 UTC
Спасибо (+1) для @lynicidn принято! Текущая карма +60.
236286
@236286
May 13 2016 17:59 UTC
@MKiselev спасибо :)
KarmaBot
@KarmaBot
May 13 2016 17:59 UTC
Спасибо (+1) для @MKiselev принято! Текущая карма +15.
236286
@236286
May 13 2016 17:59 UTC
Хоть бот сработал :)
Maksim Kiselev
@MaksimKiselev
May 13 2016 18:00 UTC
@236286 пожалуйста))
Докалебись тут с prettyUrl и i18n, я спать)
Andrey
@DevAndreyL
May 13 2016 18:52 UTC
@lynicidn А с контроллером так не получится сделать? Вряд ли, если я унаследую свой контроллер от другого, то у него будут работать те же экшины
lynicidn
@lynicidn
May 13 2016 18:52 UTC
будут
Andrey
@DevAndreyL
May 13 2016 18:55 UTC
@lynicidn А если я построю цепочку из 3-х таких контроллеров
lynicidn
@lynicidn
May 13 2016 18:55 UTC
будут
экшн это имя функции по сути
inline action
а переименовать у тебя не выйдет
или сделать приватным к примеру
так что расширять пожалуйста
убрать - нет
Andrey
@DevAndreyL
May 13 2016 18:56 UTC
Ну, мне по сути только расширить. @lynicidn Спасибо
KarmaBot
@KarmaBot
May 13 2016 18:56 UTC
Спасибо (+1) для @lynicidn принято! Текущая карма +61.
Andrey
@DevAndreyL
May 13 2016 18:57 UTC
Выходит, если у меня есть контроллер Access, и Admin, и я унаследую Admin от Access, то, получается, что через Admin мне будут доступны все действия Access?
lynicidn
@lynicidn
May 13 2016 18:57 UTC
да
только в контроллер мап подмени
имя то другое
и искать дефолтно будет не там
mr G1K
@G1K
May 13 2016 18:59 UTC
@lynicidn к вопросу о хранение ревизий о wiki не подскажешь случайно. найти yii-wekyii не удалось . смотрел yekki от samdark . но там судя по коду хранятся полный код ревизий , а не инкрементная копия.
lynicidn
@lynicidn
May 13 2016 18:59 UTC
yeekie
так вроде
mr G1K
@G1K
May 13 2016 18:59 UTC
ну да
lynicidn
@lynicidn
May 13 2016 19:00 UTC
гугли yii wiki engine
Andrey
@DevAndreyL
May 13 2016 19:00 UTC
@lynicidn Понял, спасибо. А что именно подменить в контроллер мап? Имя контроллера?
mr G1K
@G1K
May 13 2016 19:00 UTC
@lynicidn да но там нет хранения ревизий как инкремент
там полный контент сохраняется в базу
а мне бы что-то красивое и чтобы меньше места жрало
lynicidn
@lynicidn
May 13 2016 19:00 UTC
ну так то оно понятно что найти сразу чтото практически не реально
напильник нужен - да
mr G1K
@G1K
May 13 2016 19:01 UTC
ну у него по сути 2 таблицы одна для контента другая для ревизий . несколько связей , а потом при вызове сравнения ревизий сравнивается полный контент и выводится.
вообще нет никакой инкрементности и истории версий как инкремент
lynicidn
@lynicidn
May 13 2016 19:02 UTC
я не щупал
просто видел что есть
@DevAndreyL ну связать новый контроллер по старому id
он же в другом controllerNamespace нежели модульный
mr G1K
@G1K
May 13 2016 19:03 UTC
я уже как только не искал и vsc и контроли версий на php и dcm системы контроля документов и ничего полезного выудить не удалось
lynicidn
@lynicidn
May 13 2016 19:03 UTC
и имя у него другое
@G1K ты думаешь долго добавить инкрементное поле?
mr G1K
@G1K
May 13 2016 19:04 UTC
я алгоритм не могу придумать чтобы имея старый контент и новый можно было сохранить некий path и по нему восстановить версию любую из ветки..
похожих библиотечек не нашел чтобы хоть немного не велосипедить
lynicidn
@lynicidn
May 13 2016 19:05 UTC
php diff ?
mr G1K
@G1K
May 13 2016 19:05 UTC
Diff сохранить можно , но как его применить потом в виде патча
lynicidn
@lynicidn
May 13 2016 19:05 UTC
либа должна уметь
mr G1K
@G1K
May 13 2016 19:10 UTC
@lynicidn спасибо
вроде умеет две версии сравнивать. как думаешь прокатит такую хрень делать или будет слишком ресурсно затратно . при сравнении склеивать из цепочки патчей и первого файла итоговый ( может десятки может сотни итераций ) и его сравнивать с новым , и только тогда патч писать ?
KarmaBot
@KarmaBot
May 13 2016 19:10 UTC
Спасибо (+1) для @lynicidn принято! Текущая карма +62.
lynicidn
@lynicidn
May 13 2016 19:11 UTC
я бы писал все версии целиком
файла
а дифом просто показывал для нагляднгости разницу
так ты сможешь откатываться на любой шаг 1 действием
хотя с другой стороны откаты и так будут по 1-2 шага, врядли ты чтото будешь откатывать 20-100 ревизий назад
mr G1K
@G1K
May 13 2016 19:12 UTC
это да, но опять же занимаюсь преждевременной оптимизацией... Просто планируется хранить тысячи документов и у них может быть множество версий с разницей в несколько строк. и хочется место заранее экономить