2 # Database upgrade script Front Accounting
3 # Source version: 2.0.x
4 # Target version: 2.1.0
6 # To make upgrades clean and failsafe:
7 # * Precede all CREATE TABLE statment with DROP TABLE IF EXISTS
8 # * Precede all ALTER TABLE statements using ADD column with respective
9 # ALTER TABLE with DROP column
10 # * Move all other DROP queries (e.g. removing obsolete tables) to installer
11 # - they are not executed during non-forced upgrade.
14 DROP TABLE IF EXISTS `0_attachments`;
16 CREATE TABLE `0_attachments` (
17 `id` int(11) UNSIGNED NOT NULL auto_increment,
18 `description` varchar(60) NOT NULL default '',
19 `type_no` int(11) NOT NULL default '0',
20 `trans_no` int(11) NOT NULL default '0',
21 `unique_name` varchar(60) NOT NULL default '',
22 `tran_date` date NOT NULL default '0000-00-00',
23 `filename` varchar(60) NOT NULL default '',
24 `filesize` int(11) NOT NULL default '0',
25 `filetype` varchar(60) NOT NULL default '',
27 KEY `type_no` (`type_no`,`trans_no`)
28 ) TYPE=MyISAM AUTO_INCREMENT=1 ;
30 DROP TABLE IF EXISTS `0_groups`;
32 CREATE TABLE `0_groups` (
33 `id` smallint(6) UNSIGNED NOT NULL auto_increment,
34 `description` varchar(60) NOT NULL default '',
36 UNIQUE KEY `description` (`description`)
37 ) TYPE=MyISAM AUTO_INCREMENT=1 ;
39 INSERT INTO `0_groups` VALUES ('1', 'Small');
40 INSERT INTO `0_groups` VALUES ('2', 'Medium');
41 INSERT INTO `0_groups` VALUES ('3', 'Large');
43 DROP TABLE IF EXISTS `0_recurrent_invoices`;
45 CREATE TABLE `0_recurrent_invoices` (
46 `id` smallint(6) UNSIGNED NOT NULL auto_increment,
47 `description` varchar(60) NOT NULL default '',
48 `order_no` int(11) UNSIGNED NOT NULL,
49 `debtor_no` int(11) UNSIGNED NULL default NULL,
50 `group_no` smallint(6) UNSIGNED NULL default NULL,
51 `days` int(11) NOT NULL default '0',
52 `monthly` int(11) NOT NULL default '0',
53 `begin` date NOT NULL default '0000-00-00',
54 `end` date NOT NULL default '0000-00-00',
55 `last_sent` date NOT NULL default '0000-00-00',
57 UNIQUE KEY `description` (`description`)
58 ) TYPE=InnoDB AUTO_INCREMENT=1 ;
60 ALTER TABLE `0_cust_branch` DROP COLUMN `group_no`;
61 ALTER TABLE `0_cust_branch` ADD `group_no` int(11) NOT NULL default '0';
63 ALTER TABLE `0_debtor_trans` DROP COLUMN `dimension_id`;
64 ALTER TABLE `0_debtor_trans` ADD `dimension_id` int(11) NOT NULL default '0';
65 ALTER TABLE `0_debtor_trans` DROP COLUMN `dimension2_id`;
66 ALTER TABLE `0_debtor_trans` ADD `dimension2_id` int(11) NOT NULL default '0';
68 ALTER TABLE `0_bank_accounts` DROP COLUMN `id`;
69 ALTER TABLE `0_bank_accounts` DROP PRIMARY KEY;
70 ALTER TABLE `0_bank_accounts` ADD `id` SMALLINT(6) AUTO_INCREMENT PRIMARY KEY;
71 ALTER TABLE `0_bank_accounts` DROP COLUMN `last_reconciled_date`;
72 ALTER TABLE `0_bank_accounts` ADD `last_reconciled_date` timestamp NOT NULL default '0000-00-00';
73 ALTER TABLE `0_bank_accounts` DROP COLUMN `ending_reconcile_balance`;
74 ALTER TABLE `0_bank_accounts` ADD `ending_reconcile_balance` double NOT NULL default '0';
76 ALTER TABLE `0_bank_trans` DROP COLUMN `reconciled`;
77 ALTER TABLE `0_bank_trans` ADD `reconciled` date default NULL;
79 ALTER TABLE `0_users` DROP COLUMN `query_size`;
80 ALTER TABLE `0_users` ADD `query_size` TINYINT(1) DEFAULT '10';
82 ALTER TABLE `0_users` DROP COLUMN `graphic_links`;
83 ALTER TABLE `0_users` ADD `graphic_links` TINYINT(1) DEFAULT '1';
85 DROP TABLE IF EXISTS `0_sales_pos`;
87 CREATE TABLE `0_sales_pos` (
88 `id` smallint(6) UNSIGNED NOT NULL auto_increment,
89 `pos_name` varchar(30) NOT NULL,
90 `cash_sale` tinyint(1) NOT NULL,
91 `credit_sale` tinyint(1) NOT NULL,
92 `pos_location` varchar(5) NOT NULL,
93 `pos_account` smallint(6) UNSIGNED NOT NULL,
95 UNIQUE KEY(`pos_name`)
96 ) TYPE=MyISAM AUTO_INCREMENT=1;
98 INSERT INTO `0_sales_pos` VALUES ('1', 'Default', '1', '1', 'DEF', '1');
100 ALTER TABLE `0_users` DROP COLUMN `pos`;
101 ALTER TABLE `0_users` ADD `pos` SMALLINT(6) DEFAULT '1';
103 DROP TABLE IF EXISTS `0_quick_entries`;
105 CREATE TABLE `0_quick_entries` (
106 `id` smallint(6) UNSIGNED NOT NULL auto_increment,
107 `type` tinyint(1) NOT NULL default '0',
108 `description` varchar(60) NOT NULL,
109 `base_amount` double NOT NULL default '0',
110 `base_desc` varchar(60) NULL,
112 KEY `description` (`description`)
113 ) TYPE=MyISAM AUTO_INCREMENT=1;
115 INSERT INTO `0_quick_entries` VALUES ('1', '1', 'Maintenance', '0', 'Amount');
116 INSERT INTO `0_quick_entries` VALUES ('2', '1', 'Phone', '0', 'Amount');
117 INSERT INTO `0_quick_entries` VALUES ('3', '2', 'Cash Sales', '0', 'Amount');
119 DROP TABLE IF EXISTS `0_quick_entry_lines`;
121 CREATE TABLE `0_quick_entry_lines` (
122 `id` smallint(6) UNSIGNED NOT NULL auto_increment,
123 `qid` smallint(6) UNSIGNED NOT NULL,
124 `amount` double default NULL default '0',
125 `action` varchar(2) NOT NULL,
126 `dest_id` varchar(11) NOT NULL,
127 `dimension_id` smallint(6) UNSIGNED NULL default NULL,
128 `dimension2_id` smallint(6) UNSIGNED NULL default NULL,
131 ) TYPE=MyISAM AUTO_INCREMENT=1;
133 INSERT INTO `0_quick_entry_lines` VALUES ('1', '1','0','=', '6600', '0', '0');
134 INSERT INTO `0_quick_entry_lines` VALUES ('2', '2','0','=', '6730', '0', '0');
135 INSERT INTO `0_quick_entry_lines` VALUES ('3', '3','0','=', '3000', '0', '0');
137 ALTER TABLE `0_users` DROP COLUMN `print_profile`;
138 ALTER TABLE `0_users` ADD `print_profile` VARCHAR(30) NOT NULL DEFAULT '1';
139 ALTER TABLE `0_users` DROP COLUMN `rep_popup`;
140 ALTER TABLE `0_users` ADD `rep_popup` TINYINT(1) DEFAULT '1';
142 DROP TABLE IF EXISTS `0_print_profiles`;
143 CREATE TABLE `0_print_profiles` (
144 `id` smallint(6) UNSIGNED NOT NULL auto_increment,
145 `profile` varchar(30) NOT NULL,
146 `report` varchar(5) NULL default NULL,
147 `printer` tinyint(3) UNSIGNED NULL default NULL,
149 UNIQUE KEY `profile` (`profile`,`report`)
150 ) TYPE=MyISAM AUTO_INCREMENT=10;
152 INSERT INTO `0_print_profiles` VALUES ('1', 'Out of office', '', '0');
153 INSERT INTO `0_print_profiles` VALUES ('2', 'Sales Department', '', '0');
154 INSERT INTO `0_print_profiles` VALUES ('3', 'Central', '', '2');
155 INSERT INTO `0_print_profiles` VALUES ('4', 'Sales Department', '104', '2');
156 INSERT INTO `0_print_profiles` VALUES ('5', 'Sales Department', '105', '2');
157 INSERT INTO `0_print_profiles` VALUES ('6', 'Sales Department', '107', '2');
158 INSERT INTO `0_print_profiles` VALUES ('7', 'Sales Department', '109', '2');
159 INSERT INTO `0_print_profiles` VALUES ('8', 'Sales Department', '110', '2');
160 INSERT INTO `0_print_profiles` VALUES ('9', 'Sales Department', '201', '2');
162 DROP TABLE IF EXISTS `0_printers`;
164 CREATE TABLE `0_printers` (
165 `id` tinyint(3) UNSIGNED NOT NULL auto_increment,
166 `name` varchar(20) NOT NULL,
167 `description` varchar(60) NOT NULL,
168 `queue` varchar(20) NOT NULL,
169 `host` varchar(40) NOT NULL,
170 `port` smallint(11) unsigned NOT NULL,
171 `timeout` tinyint(3) unsigned NOT NULL,
173 UNIQUE KEY `name` (`name`)
174 ) TYPE=MyISAM AUTO_INCREMENT=4;
176 INSERT INTO `0_printers` VALUES ('1', 'QL500', 'Label printer', 'QL500', 'server', '127', '20');
177 INSERT INTO `0_printers` VALUES ('2', 'Samsung', 'Main network printer', 'scx4521F', 'server', '515', '5');
178 INSERT INTO `0_printers` VALUES ('3', 'Local', 'Local print server at user IP', 'lp', '', '515', '10');
180 DROP TABLE IF EXISTS `0_item_codes`;
182 CREATE TABLE `0_item_codes` (
183 `id` int(11) UNSIGNED NOT NULL auto_increment,
184 `item_code` varchar(20) NOT NULL,
185 `stock_id` varchar(20) NOT NULL,
186 `description` varchar(200) NOT NULL default '',
187 `category_id` smallint(6) UNSIGNED NOT NULL,
188 `quantity` double NOT NULL default '1',
189 `is_foreign` tinyint(1) NOT NULL default 0,
191 UNIQUE KEY(`stock_id`, `item_code`)
192 ) TYPE=MyISAM AUTO_INCREMENT=1;
194 ALTER TABLE `0_company` DROP COLUMN `foreign_codes`;
195 ALTER TABLE `0_company` ADD `foreign_codes` TINYINT(1) NOT NULL DEFAULT '0';
197 ALTER TABLE `0_company` DROP COLUMN `accumulate_shipping`;
198 ALTER TABLE `0_company` ADD `accumulate_shipping` TINYINT(1) NOT NULL DEFAULT '0';
200 ALTER TABLE `0_company` DROP COLUMN `legal_text`;
201 ALTER TABLE `0_company` ADD `legal_text` tinytext NOT NULL DEFAULT '';
203 ALTER TABLE `0_suppliers` DROP COLUMN `supp_address`;
204 ALTER TABLE `0_suppliers` ADD `supp_address` tinytext NOT NULL DEFAULT '' AFTER `address`;
206 ALTER TABLE `0_suppliers` DROP COLUMN `phone`;
207 ALTER TABLE `0_suppliers` ADD `phone` varchar(30) NOT NULL DEFAULT '' AFTER `supp_address`;
209 ALTER TABLE `0_suppliers` DROP COLUMN `fax`;
210 ALTER TABLE `0_suppliers` ADD `fax` varchar(30) NOT NULL DEFAULT '' AFTER `phone`;
212 ALTER TABLE `0_suppliers` DROP COLUMN `gst_no`;
213 ALTER TABLE `0_suppliers` ADD `gst_no` varchar(25) NOT NULL DEFAULT '' AFTER `fax`;
215 ALTER TABLE `0_suppliers` DROP COLUMN `contact`;
216 ALTER TABLE `0_suppliers` ADD `contact` varchar(60) NOT NULL DEFAULT '' AFTER `gst_no`;
218 ALTER TABLE `0_suppliers` DROP COLUMN `credit_limit`;
219 ALTER TABLE `0_suppliers` ADD `credit_limit` double NOT NULL DEFAULT '0' AFTER `tax_group_id`;
221 ALTER TABLE `0_suppliers` DROP COLUMN `supp_account_no`;
222 ALTER TABLE `0_suppliers` ADD `supp_account_no` varchar(40) NOT NULL DEFAULT '' AFTER `contact`;
224 ALTER TABLE `0_suppliers` DROP COLUMN `website`;
225 ALTER TABLE `0_suppliers` ADD `website` varchar(100) NOT NULL DEFAULT '' AFTER `email`;
227 ALTER TABLE `0_suppliers` DROP COLUMN `notes`;
228 ALTER TABLE `0_suppliers` ADD `notes` tinytext NOT NULL DEFAULT '';
230 ALTER TABLE `0_chart_types` DROP INDEX `name`, ADD INDEX `name` ( `name` );
232 DROP TABLE IF EXISTS `0_sql_trail`;
234 CREATE TABLE IF NOT EXISTS `0_sql_trail` (
235 `id` int(11) UNSIGNED NOT NULL auto_increment,
237 `result` tinyint(1) NOT NULL,
238 `msg` varchar(255) NOT NULL,