CreateTable('reports', "CREATE TABLE `reports` (\n `id` int(5) NOT NULL auto_increment,\n `reportname` varchar(30) NOT NULL default '',\n `reporttype` char(3) NOT NULL default 'rpt',\n `groupname` varchar(9) NOT NULL default 'misc',\n `defaultreport` enum('1','0') NOT NULL default '0',\n `papersize` varchar(15) NOT NULL default 'A4,210,297',\n `paperorientation` enum('P','L') NOT NULL default 'P',\n `margintop` int(3) NOT NULL default '10',\n `marginbottom` int(3) NOT NULL default '10',\n `marginleft` int(3) NOT NULL default '10',\n `marginright` int(3) NOT NULL default '10',\n `coynamefont` varchar(20) NOT NULL default 'Helvetica',\n `coynamefontsize` int(3) NOT NULL default '12',\n `coynamefontcolor` varchar(11) NOT NULL default '0,0,0',\n `coynamealign` enum('L','C','R') NOT NULL default 'C',\n `coynameshow` enum('1','0') NOT NULL default '1',\n `title1desc` varchar(50) NOT NULL default '%reportname%',\n `title1font` varchar(20) NOT NULL default 'Helvetica',\n `title1fontsize` int(3) NOT NULL default '10',\n `title1fontcolor` varchar(11) NOT NULL default '0,0,0',\n `title1fontalign` enum('L','C','R') NOT NULL default 'C',\n `title1show` enum('1','0') NOT NULL default '1',\n `title2desc` varchar(50) NOT NULL default 'Report Generated %date%',\n `title2font` varchar(20) NOT NULL default 'Helvetica',\n `title2fontsize` int(3) NOT NULL default '10',\n `title2fontcolor` varchar(11) NOT NULL default '0,0,0',\n `title2fontalign` enum('L','C','R') NOT NULL default 'C',\n `title2show` enum('1','0') NOT NULL default '1',\n `filterfont` varchar(10) NOT NULL default 'Helvetica',\n `filterfontsize` int(3) NOT NULL default '8',\n `filterfontcolor` varchar(11) NOT NULL default '0,0,0',\n `filterfontalign` enum('L','C','R') NOT NULL default 'L',\n `datafont` varchar(10) NOT NULL default 'Helvetica',\n `datafontsize` int(3) NOT NULL default '10',\n `datafontcolor` varchar(10) NOT NULL default 'black',\n `datafontalign` enum('L','C','R') NOT NULL default 'L',\n `totalsfont` varchar(10) NOT NULL default 'Helvetica',\n `totalsfontsize` int(3) NOT NULL default '10',\n `totalsfontcolor` varchar(11) NOT NULL default '0,0,0',\n `totalsfontalign` enum('L','C','R') NOT NULL default 'L',\n `col1width` int(3) NOT NULL default '25',\n `col2width` int(3) NOT NULL default '25',\n `col3width` int(3) NOT NULL default '25',\n `col4width` int(3) NOT NULL default '25',\n `col5width` int(3) NOT NULL default '25',\n `col6width` int(3) NOT NULL default '25',\n `col7width` int(3) NOT NULL default '25',\n `col8width` int(3) NOT NULL default '25',\n `table1` varchar(25) NOT NULL default '',\n `table2` varchar(25) default NULL,\n `table2criteria` varchar(75) default NULL,\n `table3` varchar(25) default NULL,\n `table3criteria` varchar(75) default NULL,\n `table4` varchar(25) default NULL,\n `table4criteria` varchar(75) default NULL,\n `table5` VARCHAR(25) ,\n `table5criteria` VARCHAR(75) ,\n `table6` VARCHAR(25),\n `table6criteria` VARCHAR(75),\n PRIMARY KEY (`id`),\n KEY `name` (`reportname`,`groupname`)\n)", $db); CreateTable('reportfields', "CREATE TABLE `reportfields` (\n `id` int(8) NOT NULL auto_increment,\n `reportid` int(5) NOT NULL default '0',\n `entrytype` varchar(15) NOT NULL default '',\n `seqnum` int(3) NOT NULL default '0',\n `fieldname` varchar(35) NOT NULL default '',\n `displaydesc` varchar(25) NOT NULL default '',\n `visible` enum('1','0') NOT NULL default '1',\n `columnbreak` enum('1','0') NOT NULL default '1',\n `params` text,\n PRIMARY KEY (`id`),\n KEY `reportid` (`reportid`)\n)", $db); CreateTable('reportlinks', "CREATE TABLE IF NOT EXISTS `reportlinks` (\n `table1` varchar(25) NOT NULL default '',\n `table2` varchar(25) NOT NULL default '',\n `equation` varchar(75) NOT NULL default ''\n)", $db); /* Need to find a way of making this rdbms agnostic * but for the time being do it as mysql only */ if ($DBType == 'mysql' or $DBType == 'mysqli') { $sql = "INSERT INTO reportlinks SELECT table_name, referenced_table_name, concat(table_name, '.', column_name, '=' , referenced_table_name, '.', referenced_column_name) FROM information_schema.key_column_usage WHERE referenced_table_name is not null and table_schema = '" . $_SESSION['DatabaseName'] . "'"; executeSQL($sql, $db); } NewConfigValue('WikiApp', 'Disabled', $db); NewConfigValue('WikiPath', 'wiki', $db); NewConfigValue('ProhibitJournalsToControlAccounts', '0', $db); NewConfigValue('InvoicePortraitFormat', '0', $db); NewConfigValue('ProhibitPostingsBefore', '2006-01-01', $db); NewConfigValue('WeightedAverageCosting', '1', $db); NewConfigValue('AllowOrderLineItemNarrative', '1', $db); NewConfigValue('vtiger_integration', '0', $db); NewConfigValue('DB_Maintenance', '-1', $db); NewConfigValue('HTTPS_Only', '0', $db); AddIndex(array('serialno'), 'stockserialitems', 'serialno', $db); AddIndex(array('serialno'), 'stockserialmoves', 'serialno', $db); InsertRecord('taxcategories', array('taxcatname'), array('Freight'), array('taxcatname'), array('Freight'), $db); DropIndex('custbranch', 'BranchCode', $db); AddColumn('stdcostunit', 'grns', 'double', 'NOT NULL', '0', 'supplierid', $db); DropConstraint('stockcheckfreeze', 'stockcheckfreeze_ibfk_1', $db); DropPrimaryKey('stockcheckfreeze', array('stockid'), $db); AddPrimaryKey('stockcheckfreeze', array('stockid', 'loccode'), $db); AddConstraint('stockcheckfreeze', 'stockcheckfreeze_ibfk_1', 'stockid', 'stockmaster', 'stockid', $db); UpdateDBNo(basename(__FILE__, '.php'), $db);
<?php ChangeColumnType('area', 'custbranch', 'CHAR(3)', 'NOT NULL', '', $db); AddColumn('specialinstructions', 'custbranch', 'TEXT', 'NOT NULL', '', 'brpostaddr6', $db); AddColumn('parentgroupname', 'accountgroups', 'VARCHAR(30)', 'NOT NULL', '', 'sequenceintb', $db); DropTable('worksorders', 'accumvalueissued', $db); CreateTable('workorders', "CREATE TABLE `workorders` (\n wo int(11) NOT NULL,\n loccode char(5) NOT NULL default '',\n requiredby date NOT NULL default '0000-00-00',\n startdate date NOT NULL default '0000-00-00',\n costissued double NOT NULL default '0',\n closed tinyint(4) NOT NULL default '0',\n PRIMARY KEY (`wo`),\n KEY LocCode (`loccode`),\n KEY StartDate (`startdate`),\n KEY RequiredBy (`requiredby`)\n)", $db); AddConstraint('workorders', 'workorders_ibfk_1', 'loccode', 'locations', 'loccode', $db); CreateTable('woitems', "CREATE TABLE `woitems` (\n wo int(11) NOT NULL,\n stockid char(20) NOT NULL default '',\n qtyreqd double NOT NULL DEFAULT 1,\n qtyrecd double NOT NULL DEFAULT 0,\n stdcost double NOT NULL,\n nextlotsnref varchar(20) DEFAULT '',\n PRIMARY KEY (`wo`, `stockid`),\n KEY `stockid` (`stockid`)\n)", $db); AddConstraint('woitems', 'woitems_ibfk_1', 'stockid', 'stockmaster', 'stockid', $db); AddConstraint('woitems', 'woitems_ibfk_2', 'wo', 'workorders', 'wo', $db); CreateTable('worequirements', "CREATE TABLE `worequirements` (\n wo int(11) NOT NULL,\n parentstockid varchar(20) NOT NULL,\n stockid varchar(20) NOT NULL,\n qtypu double NOT NULL DEFAULT 1,\n stdcost double NOT NULL DEFAULT 0,\n autoissue tinyint NOT NULL DEFAULT 0,\n PRIMARY KEY (`wo`, `parentstockid`,`stockid`)\n)", $db); AddConstraint('worequirements', 'worequirements_ibfk_1', 'wo', 'workorders', 'wo', $db); AddConstraint('worequirements', 'worequirements_ibfk_2', 'stockid', 'stockmaster', 'stockid', $db); AddConstraint('worequirements', 'worequirements_ibfk_3', 'parentstockid', 'woitems', 'stockid', $db); AddColumn('autoissue', 'bom', 'TINYINT', 'NOT NULL', '0', 'quantity', $db); NewConfigValue('AutoIssue', '1', $db); DropIndex('stockmoves', 'StockID', $db); AddIndex(array('reference'), 'stockmoves', 'stockmoves', $db); DropPrimaryKey('recurrsalesorderdetails', array('recurrorderno', 'stkcode'), $db); UpdateDBNo(basename(__FILE__, '.php'), $db);
*/ CreateTable('suppliertype', "CREATE TABLE `suppliertype` (\n `typeid` tinyint(4) NOT NULL AUTO_INCREMENT,\n `typename` varchar(100) NOT NULL,\n PRIMARY KEY (`typeid`)\n)", $db); NewConfigValue('DefaultSupplierType', 1, $db); InsertRecord('suppliertype', array('typeid', 'typename'), array(NULL, 'Default'), array('typeid', 'typename'), array(NULL, 'Default'), $db); AddColumn('supptype', 'suppliers', 'tinyint(4)', 'NOT NULL', 1, 'address6', $db); /* Change the shipment quantity to a double from integer, * as stock quantities can be of type double */ ChangeColumnType('shipqty', 'loctransfers', 'double', 'NOT NULL', 0.0, $db); /* Create a new security token foer prices security, so that only * certain roles can view pricing information */ UpdateField('securitytokens', 'tokenname', 'Prices Security', 'tokenid=12', $db); /* Remove the primary key on table orderdeliverydifferenceslog */ DropPrimaryKey('orderdeliverydifferenceslog', array('orderno', 'invoiceno', 'stockid'), $db); /* Chenge received quantity to a type of double as stock * quantities are not necessarily integers */ ChangeColumnType('recqty', 'loctransfers', 'double', 'NOT NULL', 0.0, $db); /* New system type needed for contract work */ /* Add extra columns to reports */ for ($i = 9; $i <= 20; $i++) { AddColumn('col' . $i . 'width', 'reports', 'int(3)', 'NOT NULL', '25', 'col' . ($i - 1) . 'width', $db); } /* Increase the size of the fieldname field to accomodate all field names */ ChangeColumnSize('fieldname', 'reportfields', 'varchar(80)', 'NOT NULL', '', 80, $db); /* Addin extra fields to stockcatproperties table
<?php /* Database changes required to add start and end dates for sales prices */ AddColumn('startdate', 'prices', 'Date', 'NOT NULL', '0000-00-00', 'branchcode', $db); AddColumn('enddate', 'prices', 'Date', 'NOT NULL', '9999-12-31', 'startdate', $db); DropPrimaryKey('prices', array('stockid', 'typeabbrev', 'currabrev', 'debtorno'), $db); AddPrimaryKey('prices', array('stockid', 'typeabbrev', 'currabrev', 'debtorno', 'branchcode', 'startdate', 'enddate'), $db); UpdateField('prices', 'startdate', '1999-01-01', 'stockid="%"', $db); UpdateField('prices', 'enddate', '', 'stockid="%"', $db); UpdateDBNo(19, $db);
ChangeColumnType('height', 'labels', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('width', 'labels', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('topmargin', 'labels', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('leftmargin', 'labels', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('rowheight', 'labels', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('columnwidth', 'labels', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('vpos', 'labelfields', 'DOUBLE', 'NOT NULL', '0', $db); ChangeColumnType('hpos', 'labelfields', 'DOUBLE', 'NOT NULL', '0', $db); AddColumn('opencashdrawer', 'paymentmethods', 'TINYINT', 'NOT NULL', '0', 'usepreprintedstationery', $db); DropConstraint('bankaccounts', 'bankaccounts_ibfk_1', $db); DropConstraint('banktrans', 'banktrans_ibfk_2', $db); ChangeColumnType('accountcode', 'bankaccounts', 'varchar(20)', 'NOT NULL', '0', $db); ChangeColumnType('bankact', 'banktrans', 'varchar(20)', 'NOT NULL', '0', $db); AddConstraint('banktrans', 'banktrans_ibfk_2', 'bankact', 'bankaccounts', 'accountcode', $db); DropConstraint('chartdetails', 'chartdetails_ibfk_1', $db); DropPrimaryKey('chartdetails', array('accountcode', 'period'), $db); ChangeColumnType('accountcode', 'chartdetails', 'varchar(20)', 'NOT NULL', '0', $db); AddPrimaryKey('chartdetails', array('accountcode', 'period'), $db); DropConstraint('gltrans', 'gltrans_ibfk_1', $db); ChangeColumnType('account', 'gltrans', 'varchar(20)', 'NOT NULL', '0', $db); AddConstraint('gltrans', 'gltrans_ibfk_1', 'account', 'chartmaster', 'accountcode', $db); DropConstraint('pcexpenses', 'pcexpenses_ibfk_1', $db); ChangeColumnType('glaccount', 'pcexpenses', 'varchar(20)', 'NOT NULL', '0', $db); AddConstraint('pcexpenses', 'pcexpenses_ibfk_1', 'glaccount', 'chartmaster', 'accountcode', $db); DropConstraint('pctabs', 'pctabs_ibfk_5', $db); ChangeColumnType('glaccountassignment', 'pctabs', 'varchar(20)', 'NOT NULL', '0', $db); ChangeColumnType('glaccountpcash', 'pctabs', 'varchar(20)', 'NOT NULL', '0', $db); AddConstraint('pctabs', 'pctabs_ibfk_5', 'glaccountassignment', 'chartmaster', 'accountcode', $db); DropConstraint('taxauthorities', 'taxauthorities_ibfk_1', $db); ChangeColumnType('taxglcode', 'taxauthorities', 'varchar(20)', 'NOT NULL', '0', $db); AddConstraint('taxauthorities', 'taxauthorities_ibfk_1', 'taxglcode', 'chartmaster', 'accountcode', $db);
<?php DropPrimaryKey('stockrequestitems', array('dispatchitemsid'), $db); AddPrimaryKey('stockrequestitems', array('dispatchitemsid', 'dispatchid'), $db); UpdateDBNo(basename(__FILE__, '.php'), $db);
CreateTable('mrpdemandtypes', "CREATE TABLE `mrpdemandtypes` (\n `mrpdemandtype` varchar(6) NOT NULL default '',\n `description` char(30) NOT NULL default '',\n PRIMARY KEY (`mrpdemandtype`),\n KEY `mrpdemandtype` (`mrpdemandtype`)\n)", $db); CreateTable('mrpdemands', "CREATE TABLE `mrpdemands` (\n `demandid` int(11) NOT NULL AUTO_INCREMENT,\n `stockid` varchar(20) NOT NULL default '',\n `mrpdemandtype` varchar(6) NOT NULL default '',\n `quantity` double NOT NULL default '0',\n `duedate` date NOT NULL default '0000-00-00',\n PRIMARY KEY (`demandid`),\n KEY `StockID` (`stockid`)\n)", $db); AddConstraint('mrpdemands', 'mrpdemands_ibfk_1', 'mrpdemandtype', 'mrpdemandtypes', 'mrpdemandtype', $db); AddConstraint('mrpdemands', 'mrpdemands_ibfk_2', 'stockid', 'stockmaster', 'stockid', $db); AddColumn('pansize', 'stockmaster', 'DOUBLE', 'NOT NULL', '0.0', 'decimalplaces', $db); AddColumn('shrinkfactor', 'stockmaster', 'DOUBLE', 'NOT NULL', '0.0', 'pansize', $db); CreateTable('mrpcalendar', "CREATE TABLE `mrpcalendar` (\n\tcalendardate date NOT NULL,\n\tdaynumber int(6) NOT NULL,\n\tmanufacturingflag smallint(6) NOT NULL default '1',\n\tINDEX (daynumber),\n\tPRIMARY KEY (calendardate)\n)", $db); InsertRecord('mrpdemandtypes', array('mrpdemandtype', 'description'), array('FOR', 'Forecast'), array('mrpdemandtype', 'description'), array('FOR', 'Forecast'), $db); AddPrimaryKey('geocode_param', array('geocodeid'), $db); ChangeColumnName('geocodeid', 'geocode_param', 'TINYINT', 'NOT NULL', '0', 'geocodeid', $db, 'autoincrement'); AddIndex(array('coyname'), 'factorcompanies', 'factor_name', $db); AddColumn('currcode', 'bankaccounts', 'CHAR(3)', 'NOT NULL', '', 'accountcode', $db); ChangeColumnType('role', 'custcontacts', 'VARCHAR(40)', 'NOT NULL', '', $db); ChangeColumnType('phoneno', 'custcontacts', 'VARCHAR(20)', 'NOT NULL', '', $db); ChangeColumnType('notes', 'custcontacts', 'VARCHAR(255)', 'NOT NULL', '', $db); DropPrimaryKey('purchdata', array('supplierno', 'stockid'), $db); AddPrimaryKey('purchdata', array('supplierno', 'stockid', 'effectivefrom'), $db); AddColumn('quotedate', 'salesorders', 'DATE', 'NOT NULL', "0000-00-00", 'quotation', $db); AddColumn('confirmeddate', 'salesorders', 'DATE', 'NOT NULL', "0000-00-00", 'deliverydate', $db); CreateTable('woserialnos', "CREATE TABLE `woserialnos` (\n\t`wo` INT NOT NULL ,\n\t`stockid` VARCHAR( 20 ) NOT NULL ,\n\t`serialno` VARCHAR( 30 ) NOT NULL ,\n\t`quantity` DOUBLE NOT NULL DEFAULT '1',\n\t`qualitytext` TEXT NOT NULL,\n\t PRIMARY KEY (`wo`,`stockid`,`serialno`)\n)", $db); NewConfigValue('AutoCreateWOs', 1, $db); NewConfigValue('DefaultFactoryLocation', 'MEL', $db); NewConfigValue('FactoryManagerEmail', '*****@*****.**', $db); NewConfigValue('DefineControlledOnWOEntry', '1', $db); AddColumn('nextserialno', 'stockmaster', 'BIGINT', 'NOT NULL', "0", 'shrinkfactor', $db); AddColumn('qualitytext', 'stockserialitems', 'TEXT', 'NOT NULL', '', 'quantity', $db); ChangeColumnType('orderno', 'salesorders', 'INT( 11 )', 'NOT NULL', '', $db); CreateTable('purchorderauth', "CREATE TABLE `purchorderauth` (\n\t`userid` varchar(20) NOT NULL DEFAULT '',\n\t`currabrev` char(3) NOT NULL DEFAULT '',\n\t`cancreate` smallint(2) NOT NULL DEFAULT 0,\n\t`authlevel` int(11) NOT NULL DEFAULT 0,\n\tPRIMARY KEY (`userid`,`currabrev`)\n)", $db); AddColumn('version', 'purchorders', 'DECIMAL(3,2)', 'NOT NULL', "1.0", 'contact', $db); AddColumn('revised', 'purchorders', 'DATE', 'NOT NULL', "0000-00-00", 'version', $db); AddColumn('realorderno', 'purchorders', 'VARCHAR(16)', 'NOT NULL', '', 'revised', $db);