full_url при создании новой категории

km

В табличке shop_category есть такая колонка - full_url, которая генерируется из урла родителя и урла создаваемой категории. Размер ее char(255).

Так вот, есть боооольшая вложенность (19 :)) и при добавлении новой вложенной категории получаю переполнение и ошибку проверки на unique.

Что делать? Как жить дальше? Так много завязано на full_url? Может стоит добавить просто еще md5 от full_url и по ней уникальность проверять?

Темы уже были такие

https://support.webasyst.ru/1301/v-baze-v-tablitse...

17 апреля 2017
  • km 19 апреля 2017 21:47

    Неужто никто не сталкивался?

    Я собственно накостылил в отдельной установке, добавил full_url_md5 колонку и на нее повесил уникальный индекс. Вопрос в том, где еще используется full_url и когда должно всё сломаться.

  • Eugen Nichikov 19 апреля 2017 23:01

    Так а зачем костылить? Поставь колонку нужного размера (главное, чтобы в индекс влезла).

    База редактируется только метаобновлениями. Поэтому что-то сломается только в случае, если будут какие-то манипуляции с этой таблицей или с этой конкретной колонкой. Что маловероятно.

    Уж не помню что, но некоторые поля спокойно на TEXT менял.

  • km 19 апреля 2017 23:02

    Так вот в индекс не влезет. Индекс на text вообще не ставится.

  • Eugen Nichikov 19 апреля 2017 23:09

    Text как пример. Я вообще о

    full_urlvarchar(1000)cp1251_bin

    Хотя тоже на костыль смахивает :)

    Кириллических символов в ссылках же нет, вот можно 1000 однобайтовых символов записать.

  • km 20 апреля 2017 00:23

    Вполне можно сделать кириллическую ссылку, да и 1000 бывает не хватает

  • Eugen Nichikov 20 апреля 2017 09:38

    Тебе "шашечки" или "ехать"?

    Уж немного придётся ограничиться, если придумали себе 19-уровневую вложенность.

    Ну и для ПС не очень хороши длинные урлы.

  • km 21 апреля 2017 08:06

    Мне просто не нравятся такие ограничения)

  • ITFrogs 22 апреля 2017 01:50

    Поддерживаю. При импорте товаров из каталога Сима Лэнд загружается 25 тыс категорий с максимальной вложенностью 8. Даже при такой вложенности мы иногда имеем ошибки



Чтобы добавить комментарий, зарегистрируйтесь или войдите