Kirill
просто хранить данные как получится — это задача хуёвой бд, вроде монги)
Михаил
Ой, помню тут спор за enum был
Щас понабегут свидетели того что на уровне бд ничего важного не должно быть и всё надо через клиентский код делать.
The Ant
енумы в бд юзать и вправду джунство
The Ant
в пг победили переименование, и то сравнительно недавно
а в мускле до сих пор нельзя нормально переименовать значение. пиздец )
The Ant
уже молчу про скрытые джойны
Юра
onDelete это БД
Юра
Только если у него нет там ключа то оно и не будет работать
Юра
Если он руками там создаёт
Юра
Поэтому не нужно руками создавать
Юра
Чтобы делать это доктриной нужно использовать cascade=...
Юра
А не onDelete=cascade
Павел
Павел
Юрий выше верно говорит + orphanremoval
Юра
Юра
Можно удалить случайно половину данных в бд
Павел
Юра
Ну например можно случайно удалить то что не планировалось удалять
Юра
Ты удаляет одну энтити а следом удаляется ещё куча других
Павел
Юра
Вообщем я чёт конкретику не вспомню уже но помню что нужно быть осторожнее с этим орфан ремовал
Юра
Как минимум хорошо доку прочитать )
Павел
Но вообще orphanremoval я не тестил где много связей. Но по его смыслу в теории это возможно. По сути мы удаляем связь а значит и сущность, если меняется родитель, так как это единоличное владение
Павел
Павел
onDelete - это опция длф ФК а не для ОРМ
Павел
У меня просто с cascade=remove как то тоже не выходило, поэтому начал ставить orphanremoval
The Ant
Павел
The Ant
он )
The Ant
так шо аккуратней
Павел
Ты почистил коллекцию и вставил новую, это новые объекты для ОРМ, вот тебе и удалило и вставило
The Ant
без орфана оно вставит теже объекты, а с орфаном это рельно новые будут
Павел
The Ant
блин не вспомню точно как было... надо эксперементировать чтобы повторить
The Ant
что касается onDelete, почему onUpdate нету? оно ж тоже в фк моджно
The Ant
хотя в доке про он делит написанол что "на стороне бд"...
The Ant
а так он мне тег удалит? )
Павел
The Ant
че ток ручное удаление связи чтоль? нету автомата?
Павел
The Ant
не хочу фк )
The Ant
анальное жжение вызывают...
Юра
Не совсем конечно понимаю в чем трабла ФК. Если что форин Ки чеки можно отключать если нужно какой-то батч инсерт сделать или что-то такое
Юра
Отключил, вставил, включил
Юра
А так всё-таки они гарантируют что в бд не находится какой-то мусор
Юра
Но видимо тут что-то личное раз такая ненависть к ним )
Юра
Может человек не любит когда что-то мешает ему вставлять
Павел
не хочу фк )
Ну просто в симфе врядли они будут подчищаться без сушности и без фк отдельным запросом, когда по дефолту там ФК при построении связи
Юра
По-моему оно применяет к текущей сессии
Юра
Пока не включишь обратно
Павел
Оно работает именно на инсерт при включенной проверке
Aleksandr Khristenko
А подскажите, если мне в ArgumentValueResolver нужно в случае неполных данных возвращать 400 response с json в body, то как правильнее поступать?
Dmitriy
Брось исключение
Aleksandr Khristenko
Брось исключение
Ну т.е. других вариантов кроме как бросить исключение + хандлер, который будет его ловить и возвращать респонс нет?
Nikolay
Подскажите, кто пользуется встроенным штормовским http-клиентом. Есть ли там возможность одновременно несколько параллельных запросов запустить? Вроде не нашел такого
kakoi-to-noob
Nikolay
Надо проверить обработку, видимо через курл придется или постман
The Ant
по енв процессору есть эксперты?
есть в доке штука, которая дефолт значение может задать:
env(default:fallback_param:BAR)
И есть каст в скаляр определенного типа:
env(int:BAR)
Вопрос как их подружить то? чтоб в 1 параметре оба работали
Михаил
Михаил
default:fallback:int:BAR
Михаил
Ну только ты прнимаешь что default сработает тогда, когда bar нет или он не int типа
Михаил
А вот что бы default скастить в нужный тип, то ты должен объявить параметр fallback_param и к нему присвоить другую env или значение, которое уже скастишь.
The Ant
Юра
Объявления о работе в чате https://t.me/symfonyjobs
Dmitry
всем здарова, используете ли вы s3 хранилища ? желательно которые находятся на вашем администрировании (ни вк клоуд, ни яндекс клоуд )
че можете посоветовать ? minio ?
Andrii
Виктор
Всем привет! Продолжаю изучать Симфони (и вообще =)). Вопрос по правильной организации кода.
Как я уже писал, у меня есть следующие три сущности: фотоальбом, фотография и статья. Все их можно комментировать. А ещё комментарии можно редактировать и удалять. Понятно, что код для этих манипуляций один и тот же - меняются только сущности. И вот вопрос: как правильно организовать код? На данный момент набросал всё подряд в контроллере фотоальбома, лишь бы работало. Теперь хочу это организовать и затем подключить в контроллере для фотографии и текста. Пока кажется, что стоит сделать трейт Commentable. Правильно ли это или есть лучшие практики для решения подобных задач?
Andrei
Виктор
Да, наследуют от Comment: AlbumComment, PhotoComment, TextComment.
Михаил
А какие юз кейсы будут
Вот ты получил сущность альбом. Запросил у неё комментарии (просто дёрнул поле) и упал по памяти, потому что комментов миллион
Михаил
Или тебе нужно будет только вставлять коммент и удалять? А для того, что бы получить последние сущность не нужна?
Юра