Size: a a a

Software Design/Architecture/Zen

2020 November 12

ПГ

Павел Г. in Software Design/Architecture/Zen
Ну и остальным сущностям
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
убрать жесткую привязку друг к другу
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Внезапно, почему товар не может быть одновременно в нескольких категориях?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Внезапно, почему товар не может быть одновременно в нескольких категориях?
Может. Тут вопрос может ли он быть без категории.
источник

SM

Sergey Milegov in Software Design/Architecture/Zen
я прям вижу как кто-то удаляет ньюйорк и с ним всех 100500 пользователей из этого города ))
источник

SA

Stepan A in Software Design/Architecture/Zen
Ну а иначе у вас проблема курицы и яйца будет. Что сначала, добавили телевизор на склад или сначала создали категорию телевизоров?
источник

SA

Stepan A in Software Design/Architecture/Zen
Sergey Milegov
я прям вижу как кто-то удаляет ньюйорк и с ним всех 100500 пользователей из этого города ))
И это тоже!)
источник

Ш

Шурик in Software Design/Architecture/Zen
Павел Г.
Ну если я удалю категорию, мне надо либо удалять все товары, либо делать их невалидными (без категории) - а это повлияет на информацию в заказе.

Решение по поводу дублирования информации в сам заказ - в принципе это решает.
Товар - физическая штука
Категория - воображаемая. Категории могут быть по цвету, по форме, по материалу, по элитарности. Как и почему удаление категории должно вести к тому, что товар перестал существовать?
источник

SA

Stepan A in Software Design/Architecture/Zen
Поаккуратнее, вдруг тут сотрудники центра Э в чате)))
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Захватила страна А страну Б. Страны А больше не существует. Вместо того, чтоб всем гражданам страны А присвоить новое гражданство, мы сначала всех перестреляем, а потом будем новое население на этой территории делать)))
источник

SA

Sergey Alaev in Software Design/Architecture/Zen
Павел Г.
Приветствую. Подскажите, пожалуйста. Является ли soft deleted мастхэв или это наоборот плохая практика и надо стараться избегать, где не надо?

Кейс: есть товар, категори товаров, юзеры, город,  заказы. Так или иначе все переплетено идетификаторами в один большой клубок. Т.е. у пользователя должен быть город, у товара категория, у заказа товар и пользователь.  
Например нужно удалить товар, но это сделать нельзя, так как придется удалять заказ, ведь заказ не может быть без товара. Либо заказ потеряет информацию, если мы обнулим у него товар.
Если удалим пользователя, то надо удалять заказ - тоже самое, потеря информации.
Чтобы удалить категорию товаров - надо или делать невалидным товар (без категории) или делать мягкое удаление товара, потом мягкое удаление категории.

И вот выходит soft delete должно быть везде в данном кейсе?
Soft delete предпочтительней. Т.к. удаление данных из нормализованной базы сложно сделать правильно
источник

Ш

Шурик in Software Design/Architecture/Zen
Павел Г.
Т.е. сделать возможность товару быть без категории?
Если, например, для него ещё не придумали категорию, то да. Ведь если в магазин стройматериалов завезли дилдо, а для него нету категории - это не означает, что этого дилдо не существует.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Шурик
Товар - физическая штука
Категория - воображаемая. Категории могут быть по цвету, по форме, по материалу, по элитарности. Как и почему удаление категории должно вести к тому, что товар перестал существовать?
Ну в контексте категории и товара звучит вполне логично.

Как я понял, софтделет не мастхэв и надо задуматься над архитектурой.
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Всем спасибо :)
источник

КГ

Константин Грачев... in Software Design/Architecture/Zen
источник

SP

Sergey Protko in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Все кейсы разные.
Если у товара цена изменилась, созданный ранее заказ не должен меняться. Если пользователя надо удалить, то gdpr требует полного удаления всей его информации, без всяких софтов. Заказ в принципе нелогично удалять - как потом баланс в конце года подбивать по деньгам на удалённые заказы?.. и т д - каждый случай - отдельный
Поправка - требует удаления личных данных которые напрямую идентифицируют тебя.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Если ты хранишь историю поездок то ты можешь профиль с личными данными удалить. Но адреса с точностью до подъезда тебя напрямую не идентифицируют
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Хотя стоит у юриста уточнить
источник

NF

Nikita Fedorov in Software Design/Architecture/Zen
Павел Г.
Приветствую. Подскажите, пожалуйста. Является ли soft deleted мастхэв или это наоборот плохая практика и надо стараться избегать, где не надо?

Кейс: есть товар, категори товаров, юзеры, город,  заказы. Так или иначе все переплетено идетификаторами в один большой клубок. Т.е. у пользователя должен быть город, у товара категория, у заказа товар и пользователь.  
Например нужно удалить товар, но это сделать нельзя, так как придется удалять заказ, ведь заказ не может быть без товара. Либо заказ потеряет информацию, если мы обнулим у него товар.
Если удалим пользователя, то надо удалять заказ - тоже самое, потеря информации.
Чтобы удалить категорию товаров - надо или делать невалидным товар (без категории) или делать мягкое удаление товара, потом мягкое удаление категории.

И вот выходит soft delete должно быть везде в данном кейсе?
Софтделит это мастхэв. То что вы хотите это история изменений и архивация. Да и в целом, вы должны отталкиваться от мысли, что все хоть как-то связанное с деньгами не должно быть удалено. Вот придет аналитик и попросит данные по категории которую вы удалили и что делать?
источник

ПГ

Павел Г. in Software Design/Architecture/Zen
Nikita Fedorov
Софтделит это мастхэв. То что вы хотите это история изменений и архивация. Да и в целом, вы должны отталкиваться от мысли, что все хоть как-то связанное с деньгами не должно быть удалено. Вот придет аналитик и попросит данные по категории которую вы удалили и что делать?
Не знаю :) поэтому вопрос и задавал. Как вижу - мнения оказались разные
источник