В базе в таблице shop_category увеличьте значение полей url и full_url
В процессе импорта данных с Webasyst Shop-Script v.308 в Shop-Script 5 выяснилось, что на старом скрипте была модифицирована БД и увеличены размеры столбцов url и full_url.
Есть товары и категории с ID по 300 и более символов.
Нужно в базе в таблице shop_category увеличьте значение полей url и full_url которые сейчас varchar(255)
Проблема в том, что в этих столбцах стоит проверка на уникальность, поэтому приобразовать их в TEXT нельзя.
Получаем ошибки:
#1071 - Specified key was too long; max key length is 1000 bytes
и при попытке изменить тип:
Ошибка запроса:
#1170 - BLOB/TEXT column 'full_url' used in key specification without a key length
Вебасистовкая техподдержка помагать отказалась. Написали:
Поле, отвечающее за хранение ссылки в старых скриптах имеет тот же тип и размер - varchar(255), причем 255 - это максимальная длина поля. В старой версии изменение типа поля было возможным, в новой версии это сделать не так просто - требуется внесение изменений в другие параметры БД. Рекомендуем отменить изменения в старой версии скриптов, в этом случае ошибка не возникнет.
Согласно условиям предоставления программных продуктов Webasyst, поддержка по вопросам модификации программного кода и настройки дизайна веб-страниц нашей службой поддержки не оказывается.
Кто-нибудь может помочь в этом вопросе?
P.S. Если найду решение, опубликую тут.
Есть товары и категории с ID по 300 и более символов.
Нужно в базе в таблице shop_category увеличьте значение полей url и full_url которые сейчас varchar(255)
Проблема в том, что в этих столбцах стоит проверка на уникальность, поэтому приобразовать их в TEXT нельзя.
Получаем ошибки:
#1071 - Specified key was too long; max key length is 1000 bytes
и при попытке изменить тип:
Ошибка запроса:
#1170 - BLOB/TEXT column 'full_url' used in key specification without a key length
Вебасистовкая техподдержка помагать отказалась. Написали:
Поле, отвечающее за хранение ссылки в старых скриптах имеет тот же тип и размер - varchar(255), причем 255 - это максимальная длина поля. В старой версии изменение типа поля было возможным, в новой версии это сделать не так просто - требуется внесение изменений в другие параметры БД. Рекомендуем отменить изменения в старой версии скриптов, в этом случае ошибка не возникнет.
Согласно условиям предоставления программных продуктов Webasyst, поддержка по вопросам модификации программного кода и настройки дизайна веб-страниц нашей службой поддержки не оказывается.
Кто-нибудь может помочь в этом вопросе?
P.S. Если найду решение, опубликую тут.
3 ответа
Как-то так:
ALTER TABLE `shop_category` CHANGE `url` `url` VARCHAR( 330);
ALTER TABLE `shop_category` CHANGE `full_url` `full_url` VARCHAR( 330)
330 недостаточно. Нужно, минимум 500-1000.
Разработчики отказываются помогать категорически. (
ALTER TABLE shop_category DROP INDEX url;
ALTER TABLE shop_category DROP INDEX full_url;
А потом увеличить длину поля до 1000.
Правда, в таком случае можно будет указывать неуникальные ссылки.
Работоспособность не гарантирую :)