Установка Текдок оптимизированого — различия между версиями
Строка 84: | Строка 84: | ||
where 1=1 AND c.Kind=3 | where 1=1 AND c.Kind=3 | ||
+ | </pre> | ||
+ | |||
+ | '''Обновление лого брендов ''' | ||
+ | |||
+ | Выполнять на готовой таблице cat_alt_suppliers | ||
+ | <pre> | ||
+ | UPDATE cat_alt_suppliers SET Logo = concat( 'logos/', ( | ||
+ | SELECT SLO_ID | ||
+ | FROM tecdoc_1603.`tof__supplier_logos` l | ||
+ | WHERE cat_alt_suppliers.ID_SRC = l.SLO_SUP_ID | ||
+ | LIMIT 1 | ||
+ | ), '.png' ) | ||
</pre> | </pre> | ||
Текущая версия на 13:31, 5 октября 2016
Оптимизированный Текдок создается из базы оригинального Текдок. Картинки и PDF используются из оригинального Текдок и не изменяется расположение этих файлов.
Для формирования базы используются запросы из файлов:
catalog_create.sql catalog_insert1.sql catalog_insert2.sql catalog_insert3.sql
Эти файлы находятся в архиве: Файл:Catalog opti.zip
В принципе можно все объединить в один файл.
Перед запуском скриптов укажите правильно исходную базу оригинального Текдока, путем замены например _1302 на _1303 во всех файлах.
В файле catalog_create.sql создаются таблицы и формируются данные переводов использую язык и страну, поэтому проконтролируйте эти значения.
Язык указывается в переменной lng_id, значение 16 соответствует русскому языку, 4 - English.
Страна для выбора названия моделей, модификаций и так далее указывается в cou_id, значение 187 соответствует России, а 225 - Украине, 250 - Европа, 251 - все
На данный момент мы создавали только одну базу при этом в ней не были учтены страны. Поэтому некоторые заказчики жаловались на неправильные названия моделей и модификаций. В оптимизированном текдоке база создается только для одной страны, поэтому если сайт будет использовать модели определенной страны, то надо создавать отдельную базу с данными по этой стране, например opti_1303_ua.
Аналогичная ситуация с языком, если сайт будет мультиязычным, то придется создавать отдельные базы по разным языкам и как-то учитывать это в подключении оптимизированного Текдока, например путем изменения константы DB_OCAT в зависимости от языка сайта. Или оставлять подключение к оригинальному Текдоку вместо оптимизированого(?)
Добавочные запросы:
Добавление индексов для кроссов
CREATE TABLE IF NOT EXISTS `cat_alt_link_str_art` ( `id_tree` int(11) NOT NULL, `id_art` int(11) NOT NULL, `code` varchar(50) NOT NULL, `id_sup_src` int(11) NOT NULL, PRIMARY KEY (`id_tree`,`id_art`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ALTER TABLE `cat_alt_tree` ADD INDEX `ID_src` ( `ID_src` ) ; ALTER TABLE `cat_alt_link_typ_art` ADD INDEX `ID_grp` ( `ID_grp` ) ; ALTER TABLE `cat_alt_link_typ_art` ADD INDEX `ID_art_2` ( `ID_art` ) ; ALTER TABLE `cat_alt_link_typ_art` ADD INDEX `ID_art` ( `ID_art`,`ID_grp` ) ; ALTER TABLE `cat_alt_link_typ_art` ADD INDEX `ID_typ` (`ID_typ`,`ID_art`,`ID_sup`,`ID_grp`) ; ALTER TABLE `cat_alt_crosses_tmp` ADD INDEX ( `Search` , `Kind` ) ; ALTER TABLE `cat_alt_crosses_tmp` ADD INDEX ( `ID_art` ) ; ALTER TABLE `cat_alt_link_str_art` ADD INDEX `id_tree` ( `id_tree` ) ; ALTER TABLE `cat_alt_link_typ_inf_tmp` ADD INDEX (`ID_grp`) ; INSERT ignore INTO `cat_alt_link_str_art`(`id_tree`, `id_art`, `code`, `id_sup_src`) SELECT lsg.ID_tree id_tree,lai.ID_art id_art,a.Search code,s.ID_src id_sup_src FROM cat_alt_link_str_grp lsg inner join cat_alt_link_art_inf lai on lsg.ID_grp=lai.ID_grp inner join cat_alt_articles a on a.ID_art=lai.ID_art inner join cat_alt_suppliers s on s.ID_sup=a.ID_sup; CREATE TABLE IF NOT EXISTS `cat_alt_original` ( `id_oe` int(11) NOT NULL AUTO_INCREMENT, `id_art` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT 'Идентификатор', `oe_code` varchar(105) DEFAULT NULL, `code` varchar(50) DEFAULT NULL COMMENT 'Ð”Ð»Ñ Ð¿Ð¾Ð¸Ñка', `oe_brand` smallint(6) unsigned NOT NULL COMMENT 'Идентификатор иÑточника', `brand` smallint(6) unsigned NOT NULL COMMENT 'Идентификатор иÑточника', PRIMARY KEY (`id_oe`), KEY `oe_code` (`oe_code`), KEY `code` (`code`), KEY `oe_brand` (`oe_brand`), KEY `brand` (`brand`), KEY `id_art` (`id_art`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ; insert into opti_1603.cat_alt_original (id_art,oe_code,code,oe_brand,brand) select a.id_art , c.Search as oe_code, a.Search as code ,s.id_src as oe_brand ,s2.id_src as brand from opti_1603.cat_alt_crosses_tmp as c INNER JOIN opti_1603.cat_alt_articles a on a.ID_art=c.ID_art INNER JOIN opti_1603.cat_alt_suppliers as s on c.Brand=s.Name INNER JOIN opti_1603.cat_alt_suppliers as s2 on a.id_sup=s2.id_sup where 1=1 AND c.Kind=3
Обновление лого брендов
Выполнять на готовой таблице cat_alt_suppliers
UPDATE cat_alt_suppliers SET Logo = concat( 'logos/', ( SELECT SLO_ID FROM tecdoc_1603.`tof__supplier_logos` l WHERE cat_alt_suppliers.ID_SRC = l.SLO_SUP_ID LIMIT 1 ), '.png' )
Обновление списка моделей и брендов
На данный момент это нужно делать после перехода на новый текдок в Empanel - Регламентные работы под пользователем: admin_mstar