Михаил
Вот чёт я гуглил-гуглил, да не нашёл, к сожалению
чот я смотрю свои проекты - вообще не могу найти как оно создаёт fk_ но симфа ещё idx_ создаёт на внешний ключ и его как раз через декларирование индексов можно поменять. видимо у нас разные субд
Doctor
Фишка в том, что Доктрина начала высирать 100500 переименований FK только сегодня.
Полез копать, из-за чего это началось.
Пару дней назад обновлял пакеты, в том числе doctrine/dbal (3.8.4 -> 3.8.5).
Откатился сейчас на старую версию дбала, сраньё переименованиями при генерации миграций прекратилось.
Кароч пока залочу doctrine/dbal на 3.8.4, нет времени по-нормальному разобраться в вопросе. Пусть это будет проблемой Будущего Меня
Михаил
Doctor
Михаил
короче я посмотрел исходник (у меня правда 2.13 версия) там есть способ передать имя FK или оно будет сгененировано, но никто ниоткуда не передаёт
Михаил
Короче есть
https://github.com/doctrine/orm/blob/3.2.x/src/Tools/ToolEvents.php
вот там вроде можно всё переобъявить, а потом вся метадата пойдёт на генерацию миграции
Михаил
или PR и в pr добавить проброс какого-нибудь поля
Doctor
Спасибо, погляжу, как руки дойдут
Виктор
Всем привет! У меня в последние пару дней не открывается symfony.com. У кого-нибудь ещё есть такая проблема?
Александр
Привет. У меня нормально открывается.
Виктор
Похоже на то, что они блокируют айпи-адреса моего интернет-провайдера. Здорово.
Виктор
Думаешь, на их стороне проблема? Мне кажется, что со стороны сервера. В любом случае, ок, попробую написать провайдеру. Куда писать симфони - я пока не нашёл)
Apxat
думаю что поможет впн
Виктор
ВПН-то поможет) Но почему это вообще произошло? И похоже, что только меня затронуло( Пытаюсь выяснить.
kakoi-to-noob
Граждане, такой вопрос symfony/messanger делает reset Entity Manager между обработкой сообщений в очереди?
Павел
Павел
но орпять же зависит от версии, там что то меняли
Павел
Т.е. если вопрос про утечку памяти и забитие сущностями - её нет
kakoi-to-noob
понял
Юра
Только по-моему это делает мидлвер какой-то, и если он выключен то не делает
Юра
Но по умолчанию он включен вроде
Павел
Михаил
Господа, хочу напомнить.
Сейчас участились скам атаки на компании через соц сети. Вам пишут якобы ваши сотрудники или вообще ceo. Пытаются под любым предлогом получить конфиденциальную информацию.
Скам старый, но будьте бдительны.
https://www.kaspersky.ru/blog/how-to-spot-and-prevent-boss-scams/37210/
Александр
Ребят, подскажите, я походу трою. Поставил 7, новую версию пощупать. В доках как и раньше
// config/packages/security.php
use Symfony\Config\SecurityConfig;
return static function (SecurityConfig $security): void {
Но куда Symfony\Config\SecurityConfig; пропал?
Vlad
Denis
Есть ли в симфе простой способ не отдавать при сериализации Entity поля у которых значение null?
Kirill
Для начала не надо сериализовать энтити
Kirill
А во-вторых выкинь дефолтный симфони сериалайзер и поставь JMS бандл
Kirill
Симфони, изи сериалайзер, Валинор и проч - не очень или по скорости или по фичам
Dmitriy
Можно и симфони сериалайзер и Валинор ) Кирил слишком категоричен
Vlad
Kirill
Kirill
в симфони сериалайзер можно пхпстан парсер даже воткнуть и оттуда выдирать типы)
Kirill
но по скорости и качеству чот оно до сих пор не очень
Kirill
я уже рассказывал про то, что будет если попытаться симфонёй сериализовать some[foo] ключ?)
Dmitriy
можно, если типикал кейсы
так может у автора типикал кейс, а ты сразу "выкидывай" )
Dmitriy
Vlad
Vlad
Там же проблема в property access
Login
Михаил
Хотите скорости, сериализуйте вручную.
А симфони сериализатор норм.
Михаил
Виктор
Из России.
Михаил
Не отвечай, нужно проверить твоего провайдера но из другой точки
Михаил
Из России.
Ну это понятно, просто если из Крыма то там отдельные приколы могут быть
Виктор
Нет, не Крым.
Михаил
Так, ща, там есть возможность кое что в браузере почистить и часто проходит
Михаил
А, у тебя другой пк есть?
Виктор
Да. Попробовать с него?
Михаил
Да. Может быть в конкретном пк проблемы
Виктор
Попробовал. Та же проблема.
Виктор
Более того. Я попробовал с мобильного интернета того же провайдера. И там открывается нормально.
Михаил
Может дело в роутере
Виктор
Да хз. Банальная перезагрузка не помогла. Однако через ВПН всё открывается, так что вроде не в нём дело должно быть.
Михаил
Впн работает на своей магии. Роутер это маленький компьютер, мало ли чо там фиксики делают. Может сертификаты или ещё что
Михаил
Лучше вообще убрать его из цепочки
Виктор
Михаил, похоже ты был прав) Помогло выдернуть кабель провайдера из роутера, воткнуть и заново залогиниться через интерфейс провайдера. После этого всё заработало. В чём именно была причина - похоже, останется загадкой. Спасибо за помощь!
Александр
Возможно что ip Динамичный, и блок был по ip. Сменился ip и cloudflare пустил на сайт.
Виктор
На мой взгляд это тоже наиболее вероятный вариант. Однако, я уже перезагружал роутер. По логике в тот момент он тоже должен был смениться, но это не помогло.
Виктор
Ну и опять же, если бы клаудфлэр не пускал, то было бы 1020. А 520 - это конечный сервер соединение сбрасывает, насколько я понял. Нонсенс какой-то, в общем.
Михаил
Александр
Ребят, либо я тупой, либо я слепой. Symfony 7
В конфиге twig $twig->global('route')->value(service(Route::class));
В этом классе
class Route
{
public function __construct(RequestStack $requestStack)
{
dd($requestStack);
}
requestStack вроде бы есть, только он пустой, точнее атрибуты. Я помню что подобное делал в 6 версии и это работало.
Александр
Облазил документацию новой версии, вроде бы там всё тоже, ничего не поменялось
Михаил
Михаил
Александр
А запрос как приходит? В контроллер?
Да, контроллер.
Сделал так $twig->global('route')->value(service('request_stack'));
Подумал мб что-то не так, но так всё норм.
А как выше пример не работает.... что-то не очень логично. Ну чтобы не заморачиваться, сделал через Twig Extension... не так красиво конечно, но ладно
Михаил
#lest
В каком месте правильно отдавать данные из кэша, в контроллере или сервисе
Михаил
#lest
Использую redis через библиотеку predis, экземпляр класса получаю по di, данные получаю по ключу через метод get
Михаил
Если ты кешируешь sql запрос - то где-то в репозитории кеш работает.
Если ты кешируешь на бекграунде (когда данные меняются, они сами автоматически кешируются), а фронтенд обращается к кешу то всё равно.
Если у тебя кеширование происходит при запросе, то там спорно. Я бы обернул бы это в сервис. А лучше в middleware. То есть контроллер из запроса передаёт параметры в некий query объект. После этот query объект отправляется в query bus. Внутри есть мидлвара которая из query объекта получает ключ, если ключа нет в кеше, то пробрасывает вызов дальше и кеширует результат и в общем случае возвращает по ключу из кеша.
#lest
При запросе кэшируется по ключу если кэш сервис вернул null. Я думаю в контроллере проверить по ключу данные (ключ динамический) и если есть отдать данные с добавлением заголовком о ttl, если нет то полученные данные из сервиса добавить в кэш в контроллере и вернуть
Михаил
R
Вдруг кто надумал "symfony/serializer": "7.1.*" Поломан!
https://github.com/symfony/symfony/pull/57320