Вы не авторизованы.
Пожелания по дополнению этой памятки размещайте в комментариях.
WebAsyst Shop-Script
Удаление заказов
TRUNCATE TABLE `SC_orders`; # удаление заказов TRUNCATE TABLE `SC_ordered_carts`; # удаление содержимого заказов
Обнуление рейтингов товаров
UPDATE `SC_products` SET `customers_rating` = 0; # обнуление рейтингов UPDATE `SC_products` SET `customer_votes` = 0; # обнуление количества голосов
Генерация произвольных рейтингов товаров
UPDATE `SC_products` SET `customers_rating` = FLOOR(3 + (RAND() * (5 - 3))); # устанавливаем рейтинг товара от 3 до 5 UPDATE `SC_products` SET `customer_votes` = FLOOR(1 + (RAND() * (21 - 1))); # устанавливаем кол-во голосовавших от 1 до 21
Отключение возможности оставлять отзывы о товарах
UPDATE `SC_divisions` SET `xUnicKey` = '_discuss_product_' WHERE `xUnicKey` = 'discuss_product';
Увеличение размера текста информационных страниц
ALTER TABLE `SC_aux_pages` CHANGE `aux_page_text_ru` `aux_page_text_ru` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; # русский язык ALTER TABLE `SC_aux_pages` CHANGE `aux_page_text_en` `aux_page_text_en` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL; # английский язык
Удаление всех товаров из корня каталога
DELETE FROM `SC_products` WHERE `categoryID` = 1;
Удаление всех товаров с нулевой ценой
DELETE FROM `SC_products` WHERE `Price` = 0;
Изменение нумерации заказов
ALTER TABLE `SC_orders` AUTO_INCREMENT = 123456; # 123456 — число, с которого должна начинаться нумерация заказов (ВАЖНО: оно должно быть заведомо больше текущего максимального номера заказа, но меньше 2 147 483 647, иначе будут возникать проблемы с созданием новых заказов)
Удаление всех отзывов о товарах:
TRUNCATE TABLE `SC_discussions`;
Изменение порядка сортировки всех товаров на обратный:
UPDATE `SC_products` `t1` SET `t1`.`sort_order` = ( SELECT MAX(`sort_order`) FROM ( SELECT * FROM `SC_products` ) `t2` ) - `t1`.`sort_order`
WebAsyst Поддержка
Изменение нумерации запросов
ALTER TABLE `st_request` AUTO_INCREMENT =123456; # 123456 — число, с которого должна начинаться нумерация запросов (ВАЖНО: оно должно быть заведомо больше текущего максимального номера запроса, но меньше 2 147 483 647, иначе будут возникать проблемы с созданием новых запросов)
Удаление всех запросов, ожидающих подтверждения:
DELETE FROM `st_request` WHERE `state_id` = 0;
Общее
Узнать файл PHP-класса обработчика адреса с известным ukey, например, feedback
SELECT CONCAT('published/SC/html/scripts/modules', `modules`.`ModuleClassFile`) as `path` FROM `SC_modules` `modules` LEFT JOIN `SC_module_configs` `configs` USING (`ModuleID`) WHERE `configs`.`ModuleConfigID` IN( SELECT DISTINCT SUBSTR(`xInterface`, 1, POSITION('_' IN `xInterface`)-1) FROM `SC_division_interface` WHERE `xDivisionID` = ( SELECT `xID` FROM `SC_divisions` WHERE `xUnicKey` = 'feedback' ) )
Неактивен
какой запрос мог бы решить такую проблему
- нужно для всех товаров в определенной категории проставить определенный список в доп.характеристики (список доп.характеристик уже есть, все позиции из него "Выбор из предустановленных значений")?
Неактивен
shershen08 написал:
какой запрос мог бы решить такую проблему
- нужно для всех товаров в определенной категории проставить определенный список в доп.характеристики (список доп.характеристик уже есть, все позиции из него "Выбор из предустановленных значений")?
А импорт из csv не помогает?
Неактивен
скажите куда именно вставлять этот код
в базе данных у меня приблезительно такого нет
Код:
UPDATE `SC_products` `t1`
SET `t1`.`sort_order` = (
SELECT MAX(`sort_order`) FROM (
SELECT *
FROM `SC_products`
) `t2`
) - `t1`.`sort_order`
Неактивен
В базе данных вообще нет почти никакого кода — в ней хранятся данные, а не код. SQL-запрос нужно выполнять на вкладке "SQL", предварительно выбрав в левой панели phpMyAdmin название вашей базы данных.
Неактивен
А нет ли возможности удалить часть отзывов о товаре, а не все? Накидало 750 страниц спама, а 10 страниц реальных отзывов.
Это проделал:
Отключение возможности оставлять отзывы о товарах
Код:
UPDATE `SC_divisions` SET `xUnicKey` = '_discuss_product_' WHERE `xUnicKey` = 'discuss_product';
Добавлять отзывы реально не получается! Это уже хорошо.
Теперь бы нужные оставить, а спам - в помойку
Все, разобрался. Прям там же, в админке базы нашел
Удалил все ненужное.
Порядка 16 000 записей было спама. Все почистил.
Как теперь вернуть возможность оставлять отзывы?
Отредактировано laspik (2013-04-25 08:39)
Неактивен
скажите пожалуйста как теперь вернуть возможность оставлять отзывы?
после этого действия?
UPDATE `SC_divisions` SET `xUnicKey` = '_discuss_product_' WHERE `xUnicKey` = 'discuss_product';
Неактивен
laspik написал:
А нет ли возможности удалить часть отзывов о товаре, а не все? Накидало 750 страниц спама, а 10 страниц реальных отзывов.
Это смотря чем реальные отзывы отличаются от спамных.
Например удалить все отзывы о товарах содержащие http
DELETE FROM `SC_discussions` WHERE `Body` REGEXP 'http'
Неактивен
Было бы классно, если бы тут была ссылка на структуру базы данных (связанность полей и пр - картинка или схемка)
из которой можно было бы понять какие таблицы надо перелить для того чтоб перелить все товары, или перелить всех пользователей.
Неактивен
MickeyMoust написал:
скажите пожалуйста как теперь вернуть возможность оставлять отзывы?
после этого действия?
UPDATE `SC_divisions` SET `xUnicKey` = '_discuss_product_' WHERE `xUnicKey` = 'discuss_product';
ну очевидно :
UPDATE `SC_divisions` SET `xUnicKey` = 'discuss_product' WHERE `xUnicKey` = '_discuss_product_';
Неактивен
Добрый день!
Может, не совсем сюда, но есть несколько непоняток именно с БД. Первый вопрос, на котором я застрял - принцип нумерации элементов таблицы. Почему, скажем, в SC_Products productID начинается где-то с 600, а в SC_Product_pictures photoID где-то с 6000? Вообще, есть какая-то система?
Неактивен
Подскажите как сформировать sql-запрос, чтобы
сгенерировать произвольные рейтинги товаров, только для тех товаров, у которых рейтинга нет.
Заранее благодарю за помощь.
Разобрался, проще чем я думал - используем оператор WHERE:
UPDATE `SC_products` SET `customer_votes` = FLOOR( 8 + ( RAND( ) * ( 149 -8 ) ) ) WHERE `customer_votes` = 0;
UPDATE `SC_products` SET `customers_rating` = FLOOR( 4 + ( RAND( ) * ( 5 -3 ) ) ) WHERE `customers_rating` = 0;
Отредактировано sergfes (2014-12-10 17:00)
Неактивен
Для Shop-Script 5 написание подобного FAQ по работе с БД не планируется?
Например часто после переноса данных есть необходимость удалить все отзывы т.к. до переноса забыли удалить со старого скрипта и перенесли кучу мусора. И т.п.
Неактивен
Подскажите пожалуйста запрос sql на чистку discription всех товаров
Неактивен
Подскажите пожалуйста запрос на перенос конкретного заказа (по номеру заказа) в другой статус.
Неактивен
Подскажите пожалуйтста кто знает, запрос к базе чтобы удалить всех зарегистрированных пользователей магазина ?
Неактивен