Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 March 09

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
Всем привет.
Знаю, что здесь умные ребята.
У меня такой философский вопрос...
Хочу хранить товары в бд,
Вопрос, где лучше хранить картинки к этим продуктам, в этой же таблице или сделать отдельную?
источник

RB

Roman Bondarenko in NodeUA - JavaScript and Node.js in Ukraine
может лучше хранить ссылки на фото из какого-то файлового хранилища?
источник

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
Это и будут ссылки
источник

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
Делать ли связь 1 - many продукт-картинки?
Или просто масив с картинками в таблице продукта?
источник

GS

German Swan in NodeUA - JavaScript and Node.js in Ukraine
Andrey Varlamov
Всем привет.
Знаю, что здесь умные ребята.
У меня такой философский вопрос...
Хочу хранить товары в бд,
Вопрос, где лучше хранить картинки к этим продуктам, в этой же таблице или сделать отдельную?
Зависит от того сколько картинок должно быть в товаре, в зависимости от этого выбираешь релейшн 1 to 1, 1 to many, many to many
источник

RB

Roman Bondarenko in NodeUA - JavaScript and Node.js in Ukraine
Ну если по одной картинке на товар, я бы рядом их хранил, если много - то в отдельную таблицу вынес бы
источник

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
German Swan
Зависит от того сколько картинок должно быть в товаре, в зависимости от этого выбираешь релейшн 1 to 1, 1 to many, many to many
Я уже сделал 1 - many, но мне один чувак говорит что в одной таблице считается лучше в плане архитектуры.
источник

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
Roman Bondarenko
Ну если по одной картинке на товар, я бы рядом их хранил, если много - то в отдельную таблицу вынес бы
По 5 - 7
источник

GS

German Swan in NodeUA - JavaScript and Node.js in Ukraine
Да, 1 to many привязывает твои картинки к одной сущности (товару), а если эти же картинки будут использоваться где-то еще, например фото магазинов и фото товаров, то лучше сделать many to many
источник

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
Ну вообщем если больше одной картинки то правильно будет в отдельную табличку?
источник

GS

German Swan in NodeUA - JavaScript and Node.js in Ukraine
Нет, почитай основы БД, что б понять разницу между 1 to many и many to many, и что когда лучше использовать. Вообще вопрос максимально простой, гуглится с первого раза, какой смысл такое спрашивать тут?
источник

AV

Andrey Varlamov in NodeUA - JavaScript and Node.js in Ukraine
Окей
источник

VY

Vladimir Yefremov in NodeUA - JavaScript and Node.js in Ukraine
Andrey Varlamov
Делать ли связь 1 - many продукт-картинки?
Или просто масив с картинками в таблице продукта?
я храню массив, но уже получил немало гемора и теперь хочу отдельную таблицу :)
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
при хранении в массиве у картинки нет уникального id и наверно при удалении проблемы - убрать ее из массива
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
при хранении в массиве у картинки нет уникального id и наверно при удалении проблемы - убрать ее из массива
Как минимум номер по порядку. Может быть уникальное название файла. Да и уже 21 век, так что там может быть себе json.
источник
2020 March 10

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
Не поняла. Google и многие успешные компании возвращают правильные статус коды и 409 в том числе https://cloud.google.com/apis/design/errors
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
вроде 200 отдают на попытку создать аккаунт с существующим именем
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
это не публичное API и там в ответе даже не JSON а их кастомный формат. это не значит что за этим нужно повторять, у них могли быть особые причины так сделать именно здесь
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
в обычных API у них все норм https://developers.google.com/calendar/v3/errors#409_the_requested_identifier_already_exists почему так сделали именно там ХЗ можем спросить на stackoverflow
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
почему так сделали вполне понятно: отделение ошибок бизнес-логики от других ошибок
им самим так удобнее
конечно же все api исследовать лень, но вполне вероятно что у каждой команды свои правила
источник