@laravel_pro

Страница 1880 из 2014
Евгений
19.09.2018
12:11:58
а кстати, как правильно хранить такую инфу. Например товар купили, оплатили, в истории заказов у юзера он лежит. Потом у товара меняют цену. В истории же не надо менять цену. Как тут сделать хранение всех заказов? (не только цены касается)

Евгений
19.09.2018
12:12:38
о как

Google
Subb98
19.09.2018
12:12:51
да нет смысла удалять данные. почти никогда.
вот тебе реальный кейс. я удаляю старые вложения с сервера, которые должны были быть удалены, но из-за кривой логики этого не произошло. я по твоему мнению должен за каким-то волшебным макаром оставить все записи, связанные с этими вложениями?

Евгений
19.09.2018
12:12:53
интересно, спасибо

Subb98
19.09.2018
12:13:47
фотки к объявлениям, если быть точным

Sergey
19.09.2018
12:14:06
да нет смысла удалять данные. почти никогда.
Если есть таблица задач которые выполняются на сервере то их например нет смысла хранить в бд по полгода.

Subb98
19.09.2018
12:14:32
Adel
19.09.2018
12:14:35
ну и само по себе такая структура - это не сущности. это тупо служебные вещи

они как очереди

со вполне определенным лайф циклом

фоточки.. если хочешь удаляй. но скажу по секрету.. всякие вконтакты фоточки не удаляют.

им это дорого выйдет

Google
Sergey
19.09.2018
12:15:36
со вполне определенным лайф циклом
Вот. То есть уже не все сущности)

Adel
19.09.2018
12:15:38
они просто забывают что на этом месте фотка была

Subb98
19.09.2018
12:16:06
фоточки.. если хочешь удаляй. но скажу по секрету.. всякие вконтакты фоточки не удаляют.
да пусть они хоть обколются марихуаной и еб*т друг друга в ж*пу. я говорю, что есть кейсы, когда тебе надо удалить лишние файлы / записи.

F01134H
19.09.2018
12:16:07
Adel
19.09.2018
12:16:10
Вот. То есть уже не все сущности)
во-первых я в своей фразе сказал слово "обычно". во вторых - задачки в очереди - это не сущности

Subb98
19.09.2018
12:16:19
и ты мне можешь ответить только то, что так типа не делается.

потому что так не делается

Adel
19.09.2018
12:16:25
Вау, у нас тут разработчик из ВК, поприветствуем
ну я читал как-то как они хранят фоточки :)

Adel
19.09.2018
12:17:17
и ты мне можешь ответить только то, что так типа не делается.
я могу тебе сказать, что если сделать soft delete - то это в 99% случаев принесет намного меньше гемора чем удалять физически

Denis
19.09.2018
12:17:32
Opencar

F01134H
19.09.2018
12:17:42
Adel
19.09.2018
12:17:51
ты для файла делать sd собрался? правда?
как ты сюда файлы приплел а?

я вообще про базу говорил

Subb98
19.09.2018
12:18:07
как ты сюда файлы приплел а?
блять, я говорил тебе изначально о вложениях. ты чем читаешь?

и о записях, которые ко вложениям относятся

Adel
19.09.2018
12:19:06
ну я думаю они потом отдельно чистят все же эти хранилища мертвых файлов
у них там специальные сервера. почти без операционной систтемы. которые просто хранят большой диск. и он не размечен даже. просто на этом диске хранится offset-ы с какого места начинается новый файл картинки.

вставить на пустое место другой файл - не получится. точнее получится если он идеально подойдет по размеру... или меньше. но кому нужен такой гемор?

Nikitcat
19.09.2018
12:19:59
но это не решение. возможно, ему не хватает cascade delete
не, каскад не вариант. Если я удаляю продукт, история то не должна удаляться

Google
Adel
19.09.2018
12:20:25
блять, я говорил тебе изначально о вложениях. ты чем читаешь?
ну хочешь удалять - удаляй :) мы говорили про продукты в базе данных. причем тут твои вложения я не знаю :)

Subb98
19.09.2018
12:20:31
Subb98
19.09.2018
12:20:50
и я решил, что лишние записи мне ни к чему в БД

даже с sd

Adel
19.09.2018
12:21:33
ой. почти всегда это экономия на копейках.

есть поговорка - "копейка рубль бережет". это поговорка бедных. я думаю, что экономя копейку можно просрать шанс заработать рубль

Subb98
19.09.2018
12:22:30
место на ЖД - это я про файлы (вложения)

а не про записи в бд

Евгений
19.09.2018
12:22:45
чот у меня зубы скрипят от слова Вложения

Adel
19.09.2018
12:22:51
вот нахера нам тут твои файлы а? :))

F01134H
19.09.2018
12:22:55
ВЛОЖЕНИЯ

Subb98
19.09.2018
12:22:58
Евгений
19.09.2018
12:23:02
да)

Subb98
19.09.2018
12:23:11
вот нахера нам тут твои файлы а? :))
я повторять дважды не буду.

выше написал, причём

F01134H
19.09.2018
12:23:26
в масштабах вк может и выгодно забивать на занятое место

Google
F01134H
19.09.2018
12:23:51
в масштабах сервиса на 10к юзеров - невыгодно)

Adel
19.09.2018
12:24:20
в масштабах вк может и выгодно забивать на занятое место
согласен-согласен. самому пришлось вычищать террабайты из S3ю экономии ради. но как понимаешь террабайт в S3 это не копейки :)

F01134H
19.09.2018
12:24:52
Да там главная проблема даже не в занятом месте, а в цене на трафик)

Nikitcat
19.09.2018
12:25:02
а не засоряет ли это бд? как бы админ хочет удалить этот товар, а у него он будет в бд

или я неправильно понимаю сд?

F01134H
19.09.2018
12:25:15
да неправильно

Nikitcat
19.09.2018
12:26:55
ну софт делит это юзер удаляет запись, но в бд она хранится как IsDEleted - true

Adel
19.09.2018
12:27:00
а не засоряет ли это бд? как бы админ хочет удалить этот товар, а у него он будет в бд
у админа его не будет. Все твое приложение перестанет видеть этот товар

Nikitcat
19.09.2018
12:27:08
ааааа

Adel
19.09.2018
12:27:10
он будет только в базе. но помеченный как удаленный

Nikitcat
19.09.2018
12:27:13
то есть запись удалится?

Subb98
19.09.2018
12:27:25
крч, физически запись остаётся

у неё появляется свойство "меня нет, я в домике"

так понятно?

Евгений
19.09.2018
12:28:02
если оооочень надо будет то можно делитнуть полностью

Subb98
19.09.2018
12:28:05
и при желании ты можешь получить доступ к этой записи

:D

без ебли не удалит

Евгений
19.09.2018
12:28:42
ну если в таблице настроить каскадное удаление то не пошлет

Google
Евгений
19.09.2018
12:28:48
только в его кейсе это не надо

Subb98
19.09.2018
12:28:56
отключать параметры проверки fk придётся перед дропом как минимум

Nikitcat
19.09.2018
12:29:38
я ж об этом и говорю. А как оно будет реагировать если есть уникальный штрих-код, а юзер его удалил(он то не знает что софт делит идет) и со временем он добавляет товар, и его может не пропустить, т.к. такое значение уже есть?

тогда есть смысл хранить это не как фк, а просто сделать product_id и заносить туда

Евгений
19.09.2018
12:30:12
ну слушай, ты нам весь свой кейс не рассказываешь же

Nikitcat
19.09.2018
12:30:13
при удалении будет всё норм

Subb98
19.09.2018
12:30:37
не проще поднять тестовую бд и попробовать?

Adel
19.09.2018
12:31:51
ну тогда кейс усложняется. тебе придется вручную софт делит реализовать.

сделать active. пока true - это обычный товар. false - "удаленный"

при попытке добавить мы проверяем штрих и корректно обрабатываем этот момент. типа такой товар уже был и был удален. че будем делать

F01134H
19.09.2018
12:32:42
ну тогда кейс усложняется. тебе придется вручную софт делит реализовать.
я бы на самом деле сделал по умному - организовал какую-нибудь очередь на удаление, которая бы в фоне удаляла ненужные файлы, а юзеру мгновенно возвращал результат

Володимир
19.09.2018
12:33:13
Привет ребята подскажите пожалуйста если у меня 2 таблицы 1 таблица этот заказ Order 2 таблица это детали заказа DetailsOrder и например мне нужно в деталях заказ вывести id заказ допустим это будет поле quote в моделе DetailsOrder я укажу так { protected $fillable = [ 'quote', 'pieces', 'lenght', 'width', 'height', 'stackable', 'weight_per_piece' ]; protected $table = 'DetailsOrder’; } public function order() { return $this->hasOne(Order::class); } так будет правильно ?? или уже в $fillable = [ не надо указивать 'quote',

F01134H
19.09.2018
12:33:28
Nikitcat
19.09.2018
12:55:01
хм. А просто хранить в таблице не фк ключ, неправильно что ли?

Adel
19.09.2018
12:56:24
но как ты потом найдешь какой товар был куплен?

Страница 1880 из 2014