clearCacheAndStats(); // New main table structure $ret &= JprestaUtils::dbExecuteSQL('ALTER TABLE `' . _DB_PREFIX_ . 'jm_pagecache` CHANGE COLUMN `url_crc32` `cache_key` INT UNSIGNED NOT NULL, CHANGE COLUMN `url` `url` VARCHAR(1000) NOT NULL, ADD COLUMN `id_currency` INT(10) UNSIGNED AFTER `id_object`, ADD COLUMN `id_lang` INT(10) UNSIGNED AFTER `id_currency`, ADD COLUMN `id_fake_customer` INT(10) UNSIGNED DEFAULT NULL AFTER `id_lang`, ADD COLUMN `id_device` TINYINT(1) UNSIGNED AFTER `id_fake_customer`, ADD COLUMN `id_country` INT(10) UNSIGNED DEFAULT NULL AFTER `id_device`, ADD COLUMN `mask_country` BINARY(4) DEFAULT NULL AFTER `id_country`, ADD COLUMN `id_tax_csz` INT(11) UNSIGNED DEFAULT NULL AFTER `mask_country`, ADD COLUMN `id_specifics` INT(11) UNSIGNED DEFAULT NULL AFTER `id_tax_csz`, ADD COLUMN `v_css` SMALLINT UNSIGNED DEFAULT NULL AFTER `id_specifics`, ADD COLUMN `v_js` SMALLINT UNSIGNED DEFAULT NULL AFTER `v_css`, ADD INDEX (`id_country`), ADD INDEX (`v_js`), ADD INDEX (`v_css`), ADD INDEX (`url`), ADD FOREIGN KEY (id_tax_csz) REFERENCES '._DB_PREFIX_.'jm_pagecache_details(id) ON DELETE RESTRICT, ADD FOREIGN KEY (id_specifics) REFERENCES '._DB_PREFIX_.'jm_pagecache_details(id) ON DELETE RESTRICT, DROP COLUMN `file` '); // New backlinks table structure $ret &= JprestaUtils::dbExecuteSQL('ALTER TABLE `' . _DB_PREFIX_ . 'jm_pagecache_bl` CHANGE COLUMN `backlink_crc32` `backlink_key` INT UNSIGNED NOT NULL, ADD FOREIGN KEY (id) REFERENCES '._DB_PREFIX_.'jm_pagecache(id) ON DELETE CASCADE '); // New mods constraints $ret &= JprestaUtils::dbExecuteSQL('ALTER TABLE `' . _DB_PREFIX_ . 'jm_pagecache_mods` ADD FOREIGN KEY (id) REFERENCES '._DB_PREFIX_.'jm_pagecache(id) ON DELETE CASCADE '); // Increase default timeout value from 3 to 7 days foreach (PageCache::getManagedControllersNames() as $controller) { $timeout = Configuration::get('pagecache_' . $controller . '_timeout'); if ($timeout == (60 * 24 * 3)) { Configuration::updateValue('pagecache_' . $controller . '_timeout', 60 * 24 * 7); } } return (bool)$ret; }