Size: a a a

Laravel для начинающих

2020 February 12

RK

Roman Kolosov in Laravel для начинающих
elastic logstash kibana
источник

И

Игорь in Laravel для начинающих
Егор Карась
всякие cascade delete, типа, чтоб не было такого что ты юзера удалил, а от него лапша осталась по таблицам
но и с этим тоже нужно быть аккуратным

Например, клиент подключил услугу когда-то, но услуга устарела, но ее нельзя  удалят - она нужна для показа в истории услуг (softdelete)
источник

ЕК

Егор Карась in Laravel для начинающих
Игорь
но и с этим тоже нужно быть аккуратным

Например, клиент подключил услугу когда-то, но услуга устарела, но ее нельзя  удалят - она нужна для показа в истории услуг (softdelete)
Сущности не удаляем)
источник

ЕК

Егор Карась in Laravel для начинающих
Если очень хочется удалять — надо предусмотреть возможность проверки, чтоб на неё ничего не ссылалось
источник

И

Игорь in Laravel для начинающих
Alex
Да, Роман, про каскады и все подобное я в курсе. Меня как раз вопрос КПД интересовал. Базы большие, аналитику большую собирать нужно, поэтому вопрос производительности висит остро
в очереди всю аналитику + кэширование)
источник

A

Alex in Laravel для начинающих
Roman Kolosov
для статистики большой нормальная тема elk стэк
Роман, можешь годную литературу подсказать? Статьи/книги
источник

И

Игорь in Laravel для начинающих
или это я со статистикой спутал?
источник

И

Игорь in Laravel для начинающих
а аналитика это что?
источник

ЕК

Егор Карась in Laravel для начинающих
Ну вот остатки товаров.

У тебя, допустим, два документа "покупка" и "продажа"

5 штук купил, 3 продал.

Ты можешь сделать запрос к обеим таблицам, сгруппировать по товару, просуммировать, туда-сюда.

А можешь сделать таблицу остатков и писать в неё "покупка +5, id документа такой, id товара такой"
"продажа -3, id документа такой, id товара такой"

Уже проще, всего по одной таблице.

Потом добавил новый вид документа — херак, просто сделал запись в эту таблицу и всё, не надо отчёты менять

Вот тут без ключей ты ж рехнёшься
источник

И

Игорь in Laravel для начинающих
Егор Карась
Ну вот остатки товаров.

У тебя, допустим, два документа "покупка" и "продажа"

5 штук купил, 3 продал.

Ты можешь сделать запрос к обеим таблицам, сгруппировать по товару, просуммировать, туда-сюда.

А можешь сделать таблицу остатков и писать в неё "покупка +5, id документа такой, id товара такой"
"продажа -3, id документа такой, id товара такой"

Уже проще, всего по одной таблице.

Потом добавил новый вид документа — херак, просто сделал запись в эту таблицу и всё, не надо отчёты менять

Вот тут без ключей ты ж рехнёшься
это ты кому ответил?
источник

ЕК

Егор Карась in Laravel для начинающих
Игорь
это ты кому ответил?
Всем :^)
источник

ЕК

Егор Карась in Laravel для начинающих
Ну просто пример, когда без ключей мутно будет
источник

A

Alex in Laravel для начинающих
Егор Карась
Ну вот остатки товаров.

У тебя, допустим, два документа "покупка" и "продажа"

5 штук купил, 3 продал.

Ты можешь сделать запрос к обеим таблицам, сгруппировать по товару, просуммировать, туда-сюда.

А можешь сделать таблицу остатков и писать в неё "покупка +5, id документа такой, id товара такой"
"продажа -3, id документа такой, id товара такой"

Уже проще, всего по одной таблице.

Потом добавил новый вид документа — херак, просто сделал запись в эту таблицу и всё, не надо отчёты менять

Вот тут без ключей ты ж рехнёшься
Хороший пример )
источник

ЕК

Егор Карась in Laravel для начинающих
Можно пойти даже дальше и сделать ещё одну таблицу, которая будет следить за этой таблицей и пересчитываться, типа, внесли новую строку, она пересчиталась, а в ней тупо

id товара такой, остаток такой
источник

ЕК

Егор Карась in Laravel для начинающих
И вот тогда без ключей будет ооочень тяжело уследить за тем, что везде данные актуальные и не ссылаются на парашу какую
источник

A

Alex in Laravel для начинающих
Игорь
в очереди всю аналитику + кэширование)
С кешированием сложно, ибо статка может меняться ретро ( типа сегодня прилетел отчёт о транзакции которая была 7 дней назад)
источник

И

Игорь in Laravel для начинающих
Егор Карась
Можно пойти даже дальше и сделать ещё одну таблицу, которая будет следить за этой таблицей и пересчитываться, типа, внесли новую строку, она пересчиталась, а в ней тупо

id товара такой, остаток такой
типа денормализация
источник

ЕК

Егор Карась in Laravel для начинающих
Игорь
типа денормализация
Она самая)
Но сознательная
источник

И

Игорь in Laravel для начинающих
Егор Карась
Она самая)
Но сознательная
иногда полезно, кстати
источник

A

Alex in Laravel для начинающих
Егор Карась
Она самая)
Но сознательная
В моем случае к сожалению не применима...
источник