Simpla icon indicating copy to clipboard operation
Simpla copied to clipboard

Одна таблица для изображений

Open kvalood opened this issue 7 years ago • 10 comments

Предлагаю добавить единую таблицу с изображениями

Структура:

  • id
  • name
  • type (тип изображения product/category/brand)
  • type_id (ид товара/категории/бренда)
  • filename
  • position

Что решает?

  • Можно загружать любые изображения в разных модулях, в неограниченном количестве. Например сейчас есть ограничение на загрузку одного изорбажения в категорию или бренд. Для post и blog вообще отсутствует фукнция загрузки изображений.
  • Единая система ресайза изображений (сейчас в движке ресайзятся только product)
  • Единый модуль для работы с изображениями
  • Удаление лишних колонок в таблицах __brands (image), __categories (image) итд.
  • Удаление лишних функций для работы с изображениям и в /api/brands.php delete_image(), /api/Categories.php delete_image() итд.

kvalood avatar Aug 18 '18 04:08 kvalood

отличная идея, и сделать скажем так свой сторадж рисунков так же нужно научить ресайдить с вложенностью.

osben avatar Aug 20 '18 10:08 osben

На неделе сделаю коммит, есть кое какие наработки.

kvalood avatar Aug 22 '18 10:08 kvalood

  1. Мне кажется функции удаления не лишние в любом случае. При удалении все равно нужно удалять картинку,
  2. type и type_id не нужны, в них нет никакого смысла, айди достаточно,
  3. Ресайз работает, если изображения в папке той-же что и изображения товаров, переделывать особо не нужно ничего.

Extrabash avatar Feb 21 '19 15:02 Extrabash

  1. это касается удаление рисунка загруженных старым методом. Нету смысла делать прокси типа
  2. нужны что бы знать что данный рисунок относится к товару или к бренду
  3. часто бывает случаи когда нужно сделать к примеру галерею в бренде или еще где то.

osben avatar Feb 21 '19 15:02 osben

  1. Да понял, централизованная функция и ее вызов пойдет,
  2. Зачем знать? Мы и так знаем кому какие картинки по связи айди,
  3. Да, я понял, я говорю что это работает уже если просто сменить папку источника.

Extrabash avatar Feb 21 '19 15:02 Extrabash

у товара и категории могут быть ид одинаковый

osben avatar Feb 21 '19 16:02 osben

Дается мне что для связи 1 ко многим нужны будут дополнительные таблицы связи картинки с категорией, страницей итд, и никаких вопросов в этой уже не возникнет, потому что айди картинок все уникальные. Или добавить этот тип в одну таблицу всех связей, а не к картинке.

Extrabash avatar Feb 21 '19 16:02 Extrabash

А, ну понял, вы хотите вообще все таблицы эти убрать. Мне кажется это не оптимально.

Extrabash avatar Feb 21 '19 17:02 Extrabash

Мне кажется это не оптимально.

в чем проявляется не оптимальность? Скорость работы - не аргумент, тестировал на 3+ млн записях в БД, никаких просадок не увидел.

kvalood avatar Feb 22 '19 02:02 kvalood

ок

Extrabash avatar Feb 22 '19 07:02 Extrabash