Size: a a a

2021 March 18

КГ

Константин Грачев... in symfony
Anton K.
интересно, какой объем сейчас данных в таблице?
У меня там не хайлоад на запись, если ты об этом
источник

КГ

Константин Грачев... in symfony
Павел Г.
Посмотрел, странная ситуация - в интерфейсе нормалайзера нет контекста:
public function supportsNormalization($data, $format = null);
но при этом сам сериалайзер вызывает этот метод с контекстом
Из чего следует, что выбор нормалайзера можно делать по формату. А по контексту конфигурировать поведение
источник

ПГ

Павел Г. in symfony
Константин Грачев
Из чего следует, что выбор нормалайзера можно делать по формату. А по контексту конфигурировать поведение
Вывод да, но странно что сам сериалайзер вызывает с контекстом этот метод :)
источник

AK

Anton K. in symfony
Константин Грачев
У меня там не хайлоад на запись, если ты об этом
нет, я исключительно про объем данных. есть подозрение, что с ростом записей в таблицах такой запрос не будет себя эффективно показывать
источник

AK

Anton K. in symfony
и при таком подходе вроде как отсутствует возможность "разудалить" запись
источник

AK

Anton K. in symfony
а не, загнал. просто же удалить запись из журнала удаления
источник

КГ

Константин Грачев... in symfony
Павел Г.
Вывод да, но странно что сам сериалайзер вызывает с контекстом этот метод :)
а, я понял о чём ты. Помню были ПР где они это добавляли, но уже не помню зачем и чем закончилось
источник

AF

Alexei Fedorov in symfony
Короче привинтил отдельную сущность для отслеживания статуса "удаления".
/**
    * @ORM\OneToOne(targetEntity=CalendarEntryDeletion::class, mappedBy="entry", cascade={"persist"})
    */
   private ?CalendarEntryDeletion $deletion = null;

Есть запись в этой таблице, значит удалён. Надо восстановить, просто удаляешь эту запись. Да, иначе. Спасибо!
источник

КГ

Константин Грачев... in symfony
Anton K.
и при таком подходе вроде как отсутствует возможность "разудалить" запись
"разудалить" это значит потерять информацию, о том что запись была удалена
источник

AK

Anton K. in symfony
Константин Грачев
"разудалить" это значит потерять информацию, о том что запись была удалена
ну в вашей реализации да
источник

КГ

Константин Грачев... in symfony
В моей реализации нет функционала "разудалить", а если бы появился, я бы просто создал новую запись на основе удалённой, а удалённую не трогал бы
источник

AK

Anton K. in symfony
если можете себе позволить, то почему нет
источник

КГ

Константин Грачев... in symfony
Я в целом подобные вещи пытаюсь делать так, чтобы запросов UPDATE и DELETE в базу не делать, только INSERT
источник

ПГ

Павел Г. in symfony
Alexei Fedorov
Короче привинтил отдельную сущность для отслеживания статуса "удаления".
/**
    * @ORM\OneToOne(targetEntity=CalendarEntryDeletion::class, mappedBy="entry", cascade={"persist"})
    */
   private ?CalendarEntryDeletion $deletion = null;

Есть запись в этой таблице, значит удалён. Надо восстановить, просто удаляешь эту запись. Да, иначе. Спасибо!
Вопрос что вам нужно. Константин явно знает что делает и  для чего. Накручивание архитектуры без знаний для чего - зло
источник

ПГ

Павел Г. in symfony
Единственное что было бы неплохо - обернуть все это в абстракцию типа репо. А потом всегда можно будет от этого плагина избавиться и лишь в репо менять
источник

КГ

Константин Грачев... in symfony
Павел Г.
Вопрос что вам нужно. Константин явно знает что делает и  для чего. Накручивание архитектуры без знаний для чего - зло
Я бы не был так уверен, на тему того что знаю чё делаю )

Но понравившиеся идеи стараюсь применить на практике, чтобы посмотреть как работает. Без экспериментов не всегда можно понять, норм не норм
источник

ПГ

Павел Г. in symfony
Константин Грачев
Я бы не был так уверен, на тему того что знаю чё делаю )

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

AF

Alexei Fedorov in symfony
Павел Г.
Вопрос что вам нужно. Константин явно знает что делает и  для чего. Накручивание архитектуры без знаний для чего - зло
У Константина красивое (на мой взгляд) решение. Но такое писать у себя лень) Вот не вижу пока явной нужды)

Мне бы в уже привинченном Softdeleteable восстановить удалённый элемент, была бы красота.
источник

КГ

Константин Грачев... in symfony
Павел Г.
Ну эти штуки меньшее что есть в вашем проекте )) теже вьюхи и прочее. Но он писал что тоько входит в симфони, лучше не усложнять и делать прямолинейно. А это готовый плагин.
Потому что я их не так давно сам начал применять. Поэтому их там мало.
А так реализация то простейшая. Имхо даже проще чем изучать как плагин работает. Но это не точно
источник

КГ

Константин Грачев... in symfony
Alexei Fedorov
У Константина красивое (на мой взгляд) решение. Но такое писать у себя лень) Вот не вижу пока явной нужды)

Мне бы в уже привинченном Softdeleteable восстановить удалённый элемент, была бы красота.
Рубрика вредные советы - там вроде поле есть deleted_at. Сбрось её на null и объект вернётся)
источник