// fix table cms naming

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@15469 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
mMarinetti
2012-05-20 11:55:45 +00:00
parent 8dc65e16e4
commit 63e8827c1a
3 changed files with 62 additions and 3 deletions
+11 -3
View File
@@ -30,19 +30,27 @@ function upgrade_cms_15()
$res = true;
// note : cms_shop table is required and independant of blockcms module
// /!\ : _cms_shop is the wrong table name (fixed in 1.5.0.12.sql : upgrade_cms_15_rename() )
$res &= Db::getInstance()->execute('CREATE TABLE `'._DB_PREFIX_.'_cms_shop` (
`id_cms` INT( 11 ) UNSIGNED NOT NULL,
`id_shop` INT( 11 ) UNSIGNED NOT NULL ,
PRIMARY KEY (`id_cms`, `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;');
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'_cms_shop` (id_shop, id_cms) (SELECT 1, id_cms FROM '._DB_PREFIX_.'_cms)');
// /!\ : _cms_shop and _cms are wrong tables name (fixed in 1.5.0.12.sql : upgrade_cms_15_rename() )
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'_cms_shop` (id_shop, id_cms)
(SELECT 1, id_cms FROM '._DB_PREFIX_.'_cms)');
// cms_block table is blockcms module dependant. Don't update table that does not exists
$id_module_cms = Db::getInstance()->getValue('SELECT id_module from `'._DB_PREFIX_.'_module where name="blockcms"`');
// /!\ : _module is the wrong table name (fixed in 1.5.0.12.sql : upgrade_cms_15_rename() )
$id_module_cms = Db::getInstance()->getValue('SELECT id_module from `'._DB_PREFIX_.'_module
WHERE name="blockcms"`');
if (!$id_module_cms)
return $res;
$res &= Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'._cms_block` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT "1" AFTER `id_cms_block`');
// /!\ : _cms_block is the wrong table name (fixed in 1.5.0.12.sql : upgrade_cms_15_rename() )
$res &= Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'._cms_block`
ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT "1" AFTER `id_cms_block`');
return $res;
}
@@ -0,0 +1,50 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2012 PrestaShop SA
* @version Release: $Revision: 15163 $
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
function upgrade_cms_15_rename()
{
$res = true;
$db = Db::getInstance();
$res &= $db->executeS('SHOW TABLES LIKE "'._DB_PREFIX_.'_cms_shop"');
if ($res)
{
$res &= $db->execute('RENAME TABLE `'._DB_PREFIX_.'_cms_shop` to `'._DB_PREFIX_.'cms_shop`');
// in case the script upgrade_cms_15.php have set a wrong table name, it's empty
$res &= Db::getInstance()->execute('INSERT INTO `'._DB_PREFIX_.'cms_shop` (id_shop, id_cms)
(SELECT 1, id_cms FROM '._DB_PREFIX_.'cms)');
// cms_block table is blockcms module dependant. Don't update table that does not exists
$id_module_cms = Db::getInstance()->getValue('SELECT id_module from `'._DB_PREFIX_.'module
WHERE name="blockcms"`');
if (!$id_module_cms)
return $res;
$res &= Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'cms_block` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT "1" AFTER `id_cms_block`');
}
return $res;
}
+1
View File
@@ -51,3 +51,4 @@ CREATE TABLE IF NOT EXISTS `PREFIX_risk_lang` (
UPDATE `PREFIX_tab` SET `class_name`="AdminShopGroup" WHERE class_name="AdminGroupShop";
/* PHP:upgrade_cms_15_rename(); */;