* @copyright 2021 DIGITAL RETAIL TECHNOLOGIES SL * @license https://opensource.org/licenses/MIT The MIT License * * Don't forget to prefix your containers with your own identifier * to avoid any conflicts with others containers. */ if (!defined('_PS_VERSION_')) { exit; } /** * Upgrade module to version 3.0.1 * * @param \RetailCRM $module * * @return bool */ function upgrade_module_3_0_1($module) { $result = true; $apiVersion = 'RETAILCRM_API_VERSION'; $lastRun = 'RETAILCRM_LAST_RUN'; $syncCarts = 'RETAILCRM_API_SYNCHRONIZED_CART_DELAY'; // Suppress warning. DB creation below shouldn't be changed in next versions. if ('retailcrm' != $module->name) { return false; } // API v4 is deprecated, so API version flag is removed for now. if (Configuration::hasKey($apiVersion)) { Configuration::deleteByName($apiVersion); } // Fixes consequences of old fixed bug in JobManager. Also, this field format was changed in new version. if (Configuration::hasKey($lastRun)) { $result = $result && Configuration::deleteByName($lastRun); } // Immediate cart synchronization is not safe anymore (causes data inconsistency) if (Configuration::hasKey($syncCarts) && '0' == Configuration::get($syncCarts)) { Configuration::set($syncCarts, '900'); } return $result && Db::getInstance()->execute( 'CREATE TABLE IF NOT EXISTS `' . _DB_PREFIX_ . 'retailcrm_abandonedcarts` ( `id_cart` INT UNSIGNED UNIQUE NOT NULL, `last_uploaded` DATETIME, FOREIGN KEY (id_cart) REFERENCES ' . _DB_PREFIX_ . 'cart (id_cart) ON DELETE CASCADE ON UPDATE CASCADE ) DEFAULT CHARSET=utf8;' ); }