Source for file update_T_PRO_PART.phpinc

Documentation is available at update_T_PRO_PART.phpinc

  1. <?php
  2. /**
  3.   * upgrade table T_PRO_PART
  4.   *
  5.   * @project    Open CSP-Management
  6.   * @package    dbms
  7.   * @category   versioncheck
  8.   *
  9.   * @author     Peter Krebs <p.krebs@wpus.at>
  10.   * @copyright  (c) 2002-2005 by WURM & Parnter Unternehmensservice GmbH
  11.   * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
  12.   *
  13.   * @version pk-05-10-03
  14.   *
  15.   ***/
  16.  
  17. $query="SELECT * FROM T_SYS_TABLES WHERE TBL_NAME ='T_PRO_PART' ORDER BY TBL_VERSION DESC";
  18. if (!$tblVer=OCSP_OBJ::defaultReadDBObj()->quickQuery($query)) {
  19.     $tblVer['TBL_NAME']="T_PRO_PART";
  20.     $tblVer['TBL_VERSION']=0;
  21.     $tblVer['TBL_SELECT']=0;
  22.     $tblVer['TBL_INSERT']=50;
  23.     $tblVer['TBL_UPDATE']=75;
  24.     $tblVer['TBL_DELETE']=75;
  25.     $tblVer['TBL_LASTCHANGE']=NULL;
  26. }
  27.  
  28. require_once __OCSP_PHPINCPATH__."db/update/functions_mySQL.phpinc";
  29.  
  30. if (intval($tblVer['TBL_VERSION']10{
  31.     DB_UPDATE_execCmd("CREATE TABLE IF NOT EXISTS T_PRO_PART (
  32.             PAR_ID int(11) NOT NULL auto_increment,
  33.             PRO_ID int(11) NOT NULL default '0',
  34.             PGP_ID int(11) NOT NULL default '0',
  35.             PAR_NUMBER varchar(32) NOT NULL default '',
  36.             PAR_NAME varchar(250) NOT NULL default '',
  37.             PAR_ATTR1 varchar(64) NOT NULL default '',
  38.             PAR_ATTR2 varchar(64) NOT NULL default '',
  39.             PAR_ATTR3 varchar(64) NOT NULL default '',
  40.             PAR_ATTR4 varchar(64) NOT NULL default '',
  41.             PAR_ATTR5 varchar(64) NOT NULL default '',
  42.             PAR_PRICE float NOT NULL default '0',
  43.             PAR_TAX int(11) NOT NULL default '20',
  44.             PAR_DESC1 text,
  45.             PAR_DESC2 text,
  46.             PAR_SEARCHTEXT text,
  47.             PAR_SORTORDER int(3) NOT NULL default '1',
  48.             PAR_SHOW tinyint(4) NOT NULL default '1',
  49.             PAR_REDUCTION float default '0',
  50.             PAR_REDFROM date default '2003-01-02',
  51.             PAR_REDTILL date default '2003-01-02',
  52.             PAR_IMG varchar(254) default NULL,
  53.             PAR_IMG2 varchar(254) default NULL,
  54.             PAR_IMG3 varchar(254) default NULL,
  55.             PAR_THUMB varchar(254) default NULL,
  56.             PAR_EAN varchar(14) NOT NULL default '',
  57.             PAR_WEIGHT float default NULL,
  58.             PRIMARY KEY  (PAR_ID,PRO_ID,PGP_ID),
  59.             KEY PAR_SORTORDER (PAR_SHOW,PAR_SORTORDER),
  60.             KEY PAR_NUMBER (PAR_NUMBER,PAR_NAME),
  61.             KEY PAR_ATTR1 (PAR_ATTR1,PAR_ATTR2,PAR_ATTR3,PAR_ATTR4,PAR_ATTR5),
  62.             FULLTEXT KEY PAR_NUMBER_2 (PAR_NUMBER,PAR_NAME,PAR_DESC1,PAR_SEARCHTEXT,PAR_ATTR1,PAR_ATTR2,PAR_ATTR3,PAR_ATTR4,PAR_ATTR5),
  63.             FULLTEXT KEY PAR_NUMBER_3 (PAR_NUMBER,PAR_NAME,PAR_DESC1,PAR_SEARCHTEXT,PAR_ATTR1),
  64.             KEY PAR_EAN (PAR_EAN)
  65.         ) TYPE=MyISAM;
  66.     ");
  67. else {
  68.     DB_UPDATE_backupTable("T_PRO_PART");
  69. }
  70.  
  71. if (intval($tblVer['TBL_VERSION']11{
  72.  
  73.     require_once __OCSP_PHPINCPATH__."db/update/functions_mySQL.phpinc";
  74.  
  75.     DB_UPDATE_backup();
  76.  
  77.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_SHOWFROM DATETIME DEFAULT '2003-01-01' NOT NULL AFTER PAR_SHOW");
  78.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_SHOWTILL DATETIME DEFAULT '2010-01-01' NOT NULL AFTER PAR_SHOWFROM");
  79.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD CTMPL_ID INT DEFAULT '0' NOT NULL");
  80.  
  81.     $tblVer['TBL_VERSION']=11;
  82. }
  83.  
  84.  
  85. if (intval($tblVer['TBL_VERSION']12{
  86.  
  87.     require_once __OCSP_PHPINCPATH__."db/update/functions_mySQL.phpinc";
  88.  
  89.     DB_UPDATE_backup();
  90.  
  91.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR1 PAR_ATTR1 VARCHAR( 64 )");
  92.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR2 PAR_ATTR2 VARCHAR( 64 )");
  93.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR3 PAR_ATTR3 VARCHAR( 64 )");
  94.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR4 PAR_ATTR4 VARCHAR( 64 )");
  95.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR5 PAR_ATTR5 VARCHAR( 64 )");
  96.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_EAN PAR_EAN VARCHAR(14)");
  97.  
  98.     $tblVer['TBL_VERSION']=12;
  99. }
  100.  
  101. if (intval($tblVer['TBL_VERSION']13{
  102.     $a_colName=array();
  103.     $a_colName[]="PAR_IMG2";
  104.     $a_colName[]="PAR_IMG3";
  105.     for ($i=1;$i<=5;$i++{
  106.         $a_colName[]="PAR_ATTR".$i;
  107.     }
  108.  
  109.     foreach($a_colName as $s_colName{
  110.         $s_query="SELECT COUNT(*) AS NOFROWS,'".$s_colName."' AS CNAME FROM T_PRO_PART WHERE NOT ISNULL(".$s_colName.")";
  111.         $a_res=OCSP_OBJ::defaultReadDBObj()->quickQuery($s_query);
  112.  
  113.         if ((!intval($a_res['NOFROWS'])) && ($a_res['CNAME']==$s_colName)) {
  114.             // the column is empty we can drop it
  115.             echo "<p>Dropping Column $s_colName as it is empty</p>";
  116.             DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART DROP ".$s_colName);
  117.         }
  118.     }
  119.  
  120.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART DROP INDEX PAR_NUMBER_2");
  121.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART DROP PRIMARY KEY, ADD PRIMARY KEY (PAR_ID)");
  122.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD KEY PGP_ID,PRO_ID");
  123.  
  124.     $tblVer['TBL_VERSION']=13;
  125.  
  126. }
  127. if (intval($tblVer['TBL_VERSION']14// <pk-06-01-20 >
  128.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_AVAILQUANT INT NOT NULL DEFAULT '0'");
  129.  
  130.     $tblVer['TBL_VERSION']=14;
  131. }
  132.  
  133. if (intval($tblVer['TBL_VERSION']15// <pk-06-02-07 />
  134.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_LASTCHANGE TIMESTAMP");
  135.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_CREATION TIMESTAMP");
  136.     $tblVer['TBL_VERSION']=15;
  137. }
  138.  
  139. if (intval($tblVer['TBL_VERSION']16// <pk-06-02-16 />
  140.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAT_ID INT NOT NULL DEFAULT '0'");
  141.     $tblVer['TBL_VERSION']=16;
  142. }
  143.  
  144. if (intval($tblVer['TBL_VERSION']17// <pk-06-02-16 />
  145.     ob_start();
  146.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_ATTR1 VARCHAR( 64 )");
  147.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_ATTR2 VARCHAR( 64 )");
  148.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_ATTR3 VARCHAR( 64 )");
  149.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_ATTR4 VARCHAR( 64 )");
  150.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_ATTR5 VARCHAR( 64 )");
  151.     ob_end_clean();
  152.     
  153.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR1 PAR_ATTR1 VARCHAR(32) NOT NULL DEFAULT '0'");
  154.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR2 PAR_ATTR2 VARCHAR(64) NOT NULL DEFAULT '0'");
  155.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR3 PAR_ATTR3 INT NOT NULL DEFAULT '0'");
  156.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR4 PAR_ATTR4 INT NOT NULL DEFAULT '0'");
  157.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART CHANGE PAR_ATTR5 PAR_ATTR5 INT NOT NULL DEFAULT '0'");
  158.     
  159.     $tblVer['TBL_VERSION']=17;
  160. }
  161.     
  162. if (intval($tblVer['TBL_VERSION']18{
  163.     DB_UPDATE_execCmd("ALTER TABLE T_PRO_PART ADD PAR_CAMPAINED TINYINT(1) NOT NULL DEFAULT '0'");
  164.     $tblVer['TBL_VERSION']=18;    
  165. }
  166.  
  167.  
  168. ?>

Documentation generated on Thu, 08 Jan 2009 17:49:10 +0100 by phpDocumentor 1.4.0a2