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);
CreateTable('internalstockcatrole', "CREATE TABLE IF NOT EXISTS `internalstockcatrole` (\n `categoryid` varchar(6) NOT NULL,\n `secroleid` int(11) NOT NULL,\n KEY `internalstockcatrole_ibfk_1` (`categoryid`),\n KEY `internalstockcatrole_ibfk_2` (`secroleid`)\n)", $db); NewScript('InternalStockCategoriesByRole.php', '15', $db); AddColumn('internalrequest', 'locations', 'TINYINT(1)', 'NOT NULL', '1', 'cashsalebranch', $db); ChangeColumnType('shipdate', 'loctransfers', 'DATETIME', 'NOT NULL', "0000-00-00 00:00:00", $db); ChangeColumnType('recdate', 'loctransfers', 'DATETIME', 'NOT NULL', "0000-00-00 00:00:00", $db); NewScript('GLJournalInquiry.php', '15', $db); NewScript('PDFGLJournal.php', '15', $db); AddColumn('department', 'www_users', 'INT(11)', 'NOT NULL', '0', 'pdflanguage', $db); NewConfigValue('WorkingDaysWeek', '5', $db); ChangeColumnType('address6', 'suppliers', 'VARCHAR(40)', 'NOT NULL', '', $db); ChangeColumnType('braddress6', 'custbranch', 'VARCHAR(40)', 'NOT NULL', '', $db); ChangeColumnType('address6', 'debtorsmaster', 'VARCHAR(40)', 'NOT NULL', '', $db); AddConstraint('stockcatproperties', 'categoryid', 'categoryid', 'stockcategory', 'categoryid', $db); AddConstraint('stockitemproperties', 'stockid', 'stockid', 'stockmaster', 'stockid', $db); AddConstraint('stockitemproperties', 'stkcatpropid', 'stkcatpropid', 'stockcatproperties', 'stkcatpropid', $db); AddConstraint('stockmovestaxes', 'stkmoveno', 'stkmoveno', 'stockmoves', 'stkmoveno', $db); AddIndex(array('loccode'), 'stockrequest', 'loccode', $db); AddConstraint('stockrequest', 'loccode', 'loccode', 'locations', 'loccode', $db); AddIndex(array('departmentid'), 'stockrequest', 'departmentid', $db); AddConstraint('stockrequest', 'departmentid', 'departmentid', 'departments', 'departmentid', $db); AddPrimaryKey('stockrequestitems', array('dispatchitemsid', 'dispatchid'), $db); AddIndex(array('dispatchid'), 'stockrequestitems', 'dispatchid', $db); AddIndex(array('stockid'), 'stockrequestitems', 'stockid', $db); AddConstraint('stockrequestitems', 'dispatchid', 'dispatchid', 'stockrequest', 'dispatchid', $db); AddConstraint('stockrequestitems', 'stockrequestitems_ibfk_2', 'stockid', 'stockmaster', 'stockid', $db); AddPrimaryKey('internalstockcatrole', array('categoryid', 'secroleid'), $db); AddConstraint('internalstockcatrole', 'internalstockcatrole_ibfk_1', 'categoryid', 'stockcategory', 'categoryid', $db); AddConstraint('internalstockcatrole', 'secroleid', 'secroleid', 'securityroles', 'secroleid', $db); NewScript('PDFQuotationPortrait.php', '2', $db); ChangeConfigValue('VersionNumber', '4.09', $db); UpdateDBNo(basename(__FILE__, '.php'), $db);
AddColumn('inputdate', 'debtortrans', 'datetime', 'NOT NULL', '0000-00-00', 'trandate', $db); /* Change the size of the fieldname field in the report writer as * the previous size was not big enough to hold all field names */ ChangeColumnSize('fieldname', 'reportfields', 'varchar(60)', 'NOT NULL', '', 60, $db); /* Database changes needed for the picking list functionality */ NewConfigValue('RequirePickingNote', 0, $db); CreateTable("pickinglists", "CREATE TABLE `pickinglists` (\n `pickinglistno` int(11) NOT NULL DEFAULT 0,\n `orderno` int(11) NOT NULL DEFAULT 0,\n `pickinglistdate` date NOT NULL default '0000-00-00',\n `dateprinted` date NOT NULL default '0000-00-00',\n `deliverynotedate` date NOT NULL default '0000-00-00',\n CONSTRAINT `pickinglists_ibfk_1` FOREIGN KEY (`orderno`) REFERENCES `salesorders` (`orderno`),\n PRIMARY KEY (`pickinglistno`)\n)", $db); CreateTable("pickinglistdetails", "CREATE TABLE `pickinglistdetails` (\n `pickinglistno` int(11) NOT NULL DEFAULT 0,\n `pickinglistlineno` int(11) NOT NULL DEFAULT 0,\n `orderlineno` int(11) NOT NULL DEFAULT 0,\n `qtyexpected` double NOT NULL default 0.00,\n `qtypicked` double NOT NULL default 0.00,\n CONSTRAINT `pickinglistdetails_ibfk_1` FOREIGN KEY (`pickinglistno`) REFERENCES `pickinglists` (`pickinglistno`),\n PRIMARY KEY (`pickinglistno`, `pickinglistlineno`)\n)", $db); /* 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); /* Add in minimum order quantity field to the supplier purchasing data */ AddColumn('minorderqty', 'purchdata', 'int(11)', 'NOT NULL', '1', 'suppliers_partno', $db); /* Add in field to record at what date the stock check freeze was made */ AddColumn('stockcheckdate', 'stockcheckfreeze', 'date', 'NOT NULL', '0000-00-00', 'qoh', $db); /* Add extra columns for supplier head office details */ AddColumn('email', 'suppliers', 'varchar(55)', 'NOT NULL', '', 'port', $db); AddColumn('fax', 'suppliers', 'varchar(25)', 'NOT NULL', '', 'email', $db); AddColumn('telephone', 'suppliers', 'varchar(25)', 'NOT NULL', '', 'fax', $db); /* Add extra database items needed for supplier only login */
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); DropConstraint('taxauthorities', 'taxauthorities_ibfk_2', $db); ChangeColumnType('purchtaxglaccount', 'taxauthorities', 'varchar(20)', 'NOT NULL', '0', $db);
<?php DropPrimaryKey('stockrequestitems', array('dispatchitemsid'), $db); AddPrimaryKey('stockrequestitems', array('dispatchitemsid', 'dispatchid'), $db); UpdateDBNo(basename(__FILE__, '.php'), $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); AddColumn('deliveryby', 'purchorders', 'VARCHAR(100)', 'NOT NULL', '', 'realorderno', $db);
CreateTable('stockmovestaxes', "CREATE TABLE stockmovestaxes (\n\tstkmoveno int NOT NULL,\n\ttaxauthid tinyint NOT NULL,\n\ttaxontax TINYINT DEFAULT 0 NOT NULL,\n\ttaxcalculationorder TINYINT NOT NULL,\n\ttaxrate double DEFAULT 0 NOT NULL,\n\tPRIMARY KEY (stkmoveno,taxauthid),\n\tKEY (taxauthid),\n\tKEY (taxcalculationorder)\n)", $db); AddConstraint('stockmovestaxes', 'stockmovestaxes_ibfk_1', 'taxauthid', 'taxauthorities', 'taxid', $db); DropColumn('taxrate', 'stockmoves', $db); CreateTable('debtortranstaxes', "CREATE TABLE debtortranstaxes (\n\t`debtortransid` INT NOT NULL ,\n\t`taxauthid` TINYINT NOT NULL ,\n\t`taxamount` DOUBLE NOT NULL,\n\tPRIMARY KEY(debtortransid, taxauthid),\n\tKEY (taxauthid)\n)", $db); AddConstraint('debtortranstaxes', 'debtortranstaxes_ibfk_1', 'taxauthid', 'taxauthorities', 'taxid', $db); AddConstraint('debtortranstaxes', 'debtortranstaxes_ibfk_2', 'debtortransid', 'debtortrans', 'id', $db); DropConstraint('custbranch', 'custbranch_ibfk_5', $db); ChangeColumnName('taxauthority', 'custbranch', 'TINYINT(4)', 'NOT NULL', '1', 'taxgroupid', $db); DropIndex('custbranch', 'area_2', $db); DropIndex('custbranch', 'taxauthority', $db); AddIndex(array('taxgroupid'), 'custbranch', 'taxgroupid', $db); //InsertRecord('taxgroups', array('taxgroupid', 'taxgroupdescription'), array(NULL,'Default tax group'), array('taxgroupid', 'taxgroupdescription'), array(NULL,'Default tax group'), $db); AddConstraint('custbranch', 'custbranch_ibfk_7', 'taxgroupid', 'taxgroups', 'taxgroupid', $db); RenameTable('taxauthlevels', 'taxauthrates', $db); AddConstraint('taxauthrates', 'taxauthrates_ibfk_1', 'dispatchtaxprovince', 'taxprovinces', 'taxprovinceid', $db); ChangeColumnName('taxlevel', 'stockmaster', 'TINYINT(4)', 'NOT NULL', '1', 'taxcatid', $db); AddIndex(array('taxcatid'), 'stockmaster', 'stockmaster_ibix_1', $db); AddConstraint('stockmaster', 'stockmaster_ibfk_2', 'taxcatid', 'taxcategories', 'taxcatid', $db); DropPrimaryKey('salesorderdetails', array('orderno', 'stkcode'), $db); AddColumn('orderlineno', 'salesorderdetails', 'INT(11)', 'NOT NULL', '0', 'orderno', $db); AddPrimaryKey('salesorderdetails', array('orderno', 'orderlineno'), $db); NewConfigValue('FreightTaxCategory', '1', $db); NewConfigValue('SO_AllowSameItemMultipleTimes', '1', $db); CreateTable('supptranstaxes', "CREATE TABLE `supptranstaxes` (\n `supptransid` int(11) NOT NULL default '0',\n `taxauthid` tinyint(4) NOT NULL default '0',\n `taxamount` double NOT NULL default '0',\n PRIMARY KEY (`supptransid`,`taxauthid`),\n KEY `taxauthid` (`taxauthid`),\n CONSTRAINT `supptranstaxes_ibfk_1` FOREIGN KEY (`taxauthid`) REFERENCES `taxauthorities` (`taxid`),\n CONSTRAINT `supptranstaxes_ibfk_2` FOREIGN KEY (`supptransid`) REFERENCES `supptrans` (`id`)\n)", $db); DropConstraint('suppliers', 'suppliers_ibfk_3', $db); ChangeColumnName('taxauthority', 'suppliers', 'TINYINT', 'NOT NULL', '1', 'taxgroupid', $db); DropIndex('suppliers', 'taxauthority', $db); AddIndex(array('taxgroupid'), 'suppliers', 'taxgroupid', $db); AddConstraint('suppliers', 'suppliers_ibfk_3', 'taxgroupid', 'taxgroups', 'taxgroupid', $db); AddColumn('managed', 'locations', 'TINYINT', 'NOT NULL', '0', 'taxprovinceid', $db); UpdateDBNo(basename(__FILE__, '.php'), $db);