Changes related to rewrite and optimalzation of taz register.
[fa-stable.git] / sql / alter2.1.sql
1 #
2 #       Database upgrade script Front Accounting 
3 #       Source version: 2.0.x
4 #       Target version: 2.1.0
5 #       
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.
12 #
13
14 DROP TABLE IF EXISTS `0_attachments`;
15
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 '',
26   PRIMARY KEY  (`id`),
27   KEY `type_no` (`type_no`,`trans_no`)
28 ) TYPE=MyISAM AUTO_INCREMENT=1 ;
29
30 DROP TABLE IF EXISTS `0_groups`;
31
32 CREATE TABLE `0_groups` (
33   `id` smallint(6) UNSIGNED NOT NULL auto_increment,
34   `description` varchar(60) NOT NULL default '',
35   `inactive` tinyint(1) NOT NULL default 0,
36   PRIMARY KEY  (`id`),
37   UNIQUE KEY `description` (`description`)
38 ) TYPE=MyISAM AUTO_INCREMENT=1 ;
39
40 INSERT INTO `0_groups` VALUES ('1', 'Small', '0');
41 INSERT INTO `0_groups` VALUES ('2', 'Medium', '0');
42 INSERT INTO `0_groups` VALUES ('3', 'Large', '0');
43
44 DROP TABLE IF EXISTS `0_recurrent_invoices`;
45
46 CREATE TABLE `0_recurrent_invoices` (
47   `id` smallint(6) UNSIGNED NOT NULL auto_increment,
48   `description` varchar(60) NOT NULL default '',
49   `order_no` int(11) UNSIGNED NOT NULL,
50   `debtor_no` int(11) UNSIGNED NULL default NULL,
51   `group_no` smallint(6) UNSIGNED NULL default NULL,
52   `days` int(11) NOT NULL default '0',
53   `monthly` int(11) NOT NULL default '0',
54   `begin` date NOT NULL default '0000-00-00',
55   `end` date NOT NULL default '0000-00-00',
56   `last_sent` date NOT NULL default '0000-00-00',
57   PRIMARY KEY  (`id`),
58   UNIQUE KEY `description` (`description`)
59 ) TYPE=InnoDB AUTO_INCREMENT=1 ;
60
61 ALTER TABLE `0_cust_branch` DROP COLUMN `group_no`;
62 ALTER TABLE `0_cust_branch` ADD `group_no` int(11) NOT NULL default '0';
63
64 ALTER TABLE `0_debtor_trans` DROP COLUMN `dimension_id`;
65 ALTER TABLE `0_debtor_trans` ADD `dimension_id` int(11) NOT NULL default '0';
66 ALTER TABLE `0_debtor_trans` DROP COLUMN `dimension2_id`;
67 ALTER TABLE `0_debtor_trans` ADD `dimension2_id` int(11) NOT NULL default '0';
68
69 ALTER TABLE `0_bank_accounts` DROP COLUMN `id`;
70 ALTER TABLE `0_bank_accounts` DROP PRIMARY KEY;
71 ALTER TABLE `0_bank_accounts` ADD `id` SMALLINT(6) AUTO_INCREMENT PRIMARY KEY;
72 ALTER TABLE `0_bank_accounts` DROP COLUMN `last_reconciled_date`;
73 ALTER TABLE `0_bank_accounts` ADD `last_reconciled_date` timestamp NOT NULL default '0000-00-00';
74 ALTER TABLE `0_bank_accounts` DROP COLUMN `ending_reconcile_balance`;
75 ALTER TABLE `0_bank_accounts` ADD `ending_reconcile_balance` double NOT NULL default '0';
76
77 ALTER TABLE `0_bank_trans` DROP COLUMN `reconciled`;
78 ALTER TABLE `0_bank_trans` ADD `reconciled` date default NULL;
79
80 ALTER TABLE `0_users` DROP COLUMN `query_size`;
81 ALTER TABLE `0_users` ADD `query_size` TINYINT(1) DEFAULT '10';
82
83 ALTER TABLE `0_users` DROP COLUMN `graphic_links`;
84 ALTER TABLE `0_users` ADD `graphic_links` TINYINT(1) DEFAULT '1';
85
86 DROP TABLE IF EXISTS `0_sales_pos`;
87
88 CREATE TABLE `0_sales_pos` (
89   `id` smallint(6) UNSIGNED NOT NULL auto_increment,
90   `pos_name` varchar(30) NOT NULL,
91   `cash_sale` tinyint(1) NOT NULL,
92   `credit_sale` tinyint(1) NOT NULL,
93   `pos_location` varchar(5) NOT NULL,
94   `pos_account` smallint(6) UNSIGNED NOT NULL,
95   `inactive` tinyint(1) NOT NULL default 0,
96   PRIMARY KEY  (`id`),
97   UNIQUE KEY(`pos_name`)
98 ) TYPE=MyISAM AUTO_INCREMENT=1;
99
100 INSERT INTO `0_sales_pos` VALUES ('1', 'Default', '1', '1', 'DEF', '1', '0');
101
102 ALTER TABLE `0_users` DROP COLUMN `pos`;
103 ALTER TABLE `0_users` ADD `pos` SMALLINT(6) DEFAULT '1';
104
105 DROP TABLE IF EXISTS `0_quick_entries`;
106
107 CREATE TABLE `0_quick_entries` (
108   `id` smallint(6) UNSIGNED NOT NULL auto_increment,
109   `type` tinyint(1) NOT NULL default '0',
110   `description` varchar(60) NOT NULL,
111   `base_amount` double NOT NULL default '0',
112   `base_desc` varchar(60) NULL,
113   PRIMARY KEY  (`id`),
114   KEY `description` (`description`)
115 ) TYPE=MyISAM AUTO_INCREMENT=1;
116
117 INSERT INTO `0_quick_entries` VALUES ('1', '1', 'Maintenance', '0', 'Amount');
118 INSERT INTO `0_quick_entries` VALUES ('2', '1', 'Phone', '0', 'Amount');
119 INSERT INTO `0_quick_entries` VALUES ('3', '2', 'Cash Sales', '0', 'Amount');
120
121 DROP TABLE IF EXISTS `0_quick_entry_lines`;
122
123 CREATE TABLE `0_quick_entry_lines` (
124   `id` smallint(6) UNSIGNED NOT NULL auto_increment,
125   `qid` smallint(6) UNSIGNED NOT NULL,
126   `amount` double default NULL default '0',
127   `action` varchar(2) NOT NULL,
128   `dest_id` varchar(11) NOT NULL,
129   `dimension_id` smallint(6) UNSIGNED NULL default NULL,
130   `dimension2_id` smallint(6) UNSIGNED NULL default NULL,
131   PRIMARY KEY  (`id`),
132   KEY `qid` (`qid`)
133 ) TYPE=MyISAM AUTO_INCREMENT=1;
134
135 INSERT INTO `0_quick_entry_lines` VALUES ('1', '1','0','=', '6600', '0', '0');
136 INSERT INTO `0_quick_entry_lines` VALUES ('2', '2','0','=', '6730', '0', '0');
137 INSERT INTO `0_quick_entry_lines` VALUES ('3', '3','0','=', '3000', '0', '0');
138
139 ALTER TABLE `0_users` DROP COLUMN `print_profile`;
140 ALTER TABLE `0_users` ADD `print_profile` VARCHAR(30) NOT NULL DEFAULT '1';
141 ALTER TABLE `0_users` DROP COLUMN `rep_popup`;
142 ALTER TABLE `0_users` ADD `rep_popup` TINYINT(1) DEFAULT '1';
143
144 DROP TABLE IF EXISTS `0_print_profiles`;
145 CREATE TABLE `0_print_profiles` (
146   `id` smallint(6) UNSIGNED NOT NULL auto_increment,
147   `profile` varchar(30) NOT NULL,
148   `report` varchar(5) NULL default NULL,
149   `printer` tinyint(3) UNSIGNED NULL default NULL,
150   PRIMARY KEY  (`id`),
151   UNIQUE KEY `profile` (`profile`,`report`)
152 ) TYPE=MyISAM AUTO_INCREMENT=10;
153
154 INSERT INTO `0_print_profiles` VALUES ('1', 'Out of office', '', '0');
155 INSERT INTO `0_print_profiles` VALUES ('2', 'Sales Department', '', '0');
156 INSERT INTO `0_print_profiles` VALUES ('3', 'Central', '', '2');
157 INSERT INTO `0_print_profiles` VALUES ('4', 'Sales Department', '104', '2');
158 INSERT INTO `0_print_profiles` VALUES ('5', 'Sales Department', '105', '2');
159 INSERT INTO `0_print_profiles` VALUES ('6', 'Sales Department', '107', '2');
160 INSERT INTO `0_print_profiles` VALUES ('7', 'Sales Department', '109', '2');
161 INSERT INTO `0_print_profiles` VALUES ('8', 'Sales Department', '110', '2');
162 INSERT INTO `0_print_profiles` VALUES ('9', 'Sales Department', '201', '2');
163
164 DROP TABLE IF EXISTS `0_printers`;
165
166 CREATE TABLE `0_printers` (
167   `id` tinyint(3) UNSIGNED NOT NULL auto_increment,
168   `name` varchar(20) NOT NULL,
169   `description` varchar(60) NOT NULL,
170   `queue` varchar(20) NOT NULL,
171   `host` varchar(40) NOT NULL,
172   `port` smallint(11) unsigned NOT NULL,
173   `timeout` tinyint(3) unsigned NOT NULL,
174   PRIMARY KEY  (`id`),
175   UNIQUE KEY `name` (`name`)
176 ) TYPE=MyISAM AUTO_INCREMENT=4;
177
178 INSERT INTO `0_printers` VALUES ('1', 'QL500', 'Label printer', 'QL500', 'server', '127', '20');
179 INSERT INTO `0_printers` VALUES ('2', 'Samsung', 'Main network printer', 'scx4521F', 'server', '515', '5');
180 INSERT INTO `0_printers` VALUES ('3', 'Local', 'Local print server at user IP', 'lp', '', '515', '10');
181
182 DROP TABLE IF EXISTS `0_item_codes`;
183
184 CREATE TABLE `0_item_codes` (
185   `id` int(11) UNSIGNED NOT NULL auto_increment,
186   `item_code` varchar(20) NOT NULL,
187   `stock_id` varchar(20) NOT NULL,
188   `description` varchar(200) NOT NULL default '',
189   `category_id` smallint(6) UNSIGNED NOT NULL,
190   `quantity` double NOT NULL default '1',
191   `is_foreign` tinyint(1) NOT NULL default 0,
192   `inactive` tinyint(1) NOT NULL default 0,
193   PRIMARY KEY  (`id`),
194   UNIQUE KEY(`stock_id`, `item_code`)
195 ) TYPE=MyISAM AUTO_INCREMENT=1;
196
197 ALTER TABLE `0_company` DROP COLUMN `foreign_codes`;
198 ALTER TABLE `0_company` ADD `foreign_codes` TINYINT(1) NOT NULL DEFAULT '0';
199
200 ALTER TABLE `0_company` DROP COLUMN `accumulate_shipping`;
201 ALTER TABLE `0_company` ADD `accumulate_shipping` TINYINT(1) NOT NULL DEFAULT '0';
202
203 ALTER TABLE `0_company` DROP COLUMN `legal_text`;
204 ALTER TABLE `0_company` ADD `legal_text` tinytext NOT NULL DEFAULT '';
205
206 ALTER TABLE `0_suppliers` DROP COLUMN `supp_address`;
207 ALTER TABLE `0_suppliers` ADD `supp_address` tinytext NOT NULL DEFAULT '' AFTER `address`;
208
209 ALTER TABLE `0_suppliers` DROP COLUMN `phone`;
210 ALTER TABLE `0_suppliers` ADD `phone` varchar(30) NOT NULL DEFAULT '' AFTER `supp_address`;
211
212 ALTER TABLE `0_suppliers` DROP COLUMN `fax`;
213 ALTER TABLE `0_suppliers` ADD `fax` varchar(30) NOT NULL DEFAULT '' AFTER `phone`;
214
215 ALTER TABLE `0_suppliers` DROP COLUMN `gst_no`;
216 ALTER TABLE `0_suppliers` ADD `gst_no` varchar(25) NOT NULL DEFAULT '' AFTER `fax`;
217
218 ALTER TABLE `0_suppliers` DROP COLUMN `contact`;
219 ALTER TABLE `0_suppliers` ADD `contact` varchar(60) NOT NULL DEFAULT '' AFTER `gst_no`;
220
221 ALTER TABLE `0_suppliers` DROP COLUMN `credit_limit`;
222 ALTER TABLE `0_suppliers` ADD `credit_limit` double NOT NULL DEFAULT '0' AFTER `tax_group_id`;
223
224 ALTER TABLE `0_suppliers` DROP COLUMN `supp_account_no`;
225 ALTER TABLE `0_suppliers` ADD `supp_account_no` varchar(40) NOT NULL DEFAULT '' AFTER `contact`;
226
227 ALTER TABLE `0_suppliers` DROP COLUMN `website`;
228 ALTER TABLE `0_suppliers` ADD `website` varchar(100) NOT NULL DEFAULT '' AFTER `email`;
229
230 ALTER TABLE `0_suppliers` DROP COLUMN `notes`;
231 ALTER TABLE `0_suppliers` ADD `notes` tinytext NOT NULL DEFAULT '';
232
233 ALTER TABLE `0_chart_types` DROP INDEX `name`, ADD INDEX `name` ( `name` );
234
235 DROP TABLE IF EXISTS `0_sql_trail`; 
236
237 CREATE TABLE IF NOT EXISTS `0_sql_trail` (
238   `id` int(11) UNSIGNED NOT NULL auto_increment,
239   `sql` text NOT NULL, 
240   `result` tinyint(1) NOT NULL, 
241   `msg` varchar(255) NOT NULL,
242   PRIMARY KEY (`id`)
243 ) TYPE = MyISAM;
244
245 ALTER TABLE `0_tax_types` DROP COLUMN `out`;
246
247 ALTER TABLE `0_chart_master` DROP COLUMN `inactive`;
248 ALTER TABLE `0_chart_master` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
249
250 ALTER TABLE `0_currencies` DROP COLUMN `inactive`;
251 ALTER TABLE `0_currencies` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
252
253 ALTER TABLE `0_bank_accounts` DROP COLUMN `inactive`;
254 ALTER TABLE `0_bank_accounts` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
255
256 ALTER TABLE `0_debtors_master` DROP COLUMN `inactive`;
257 ALTER TABLE `0_debtors_master` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
258
259 ALTER TABLE `0_stock_master` DROP COLUMN `inactive`;
260 ALTER TABLE `0_stock_master` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
261
262 ALTER TABLE `0_workcentres` DROP COLUMN `inactive`;
263 ALTER TABLE `0_workcentres` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
264
265 ALTER TABLE `0_locations` DROP COLUMN `inactive`;
266 ALTER TABLE `0_locations` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
267
268 ALTER TABLE `0_sales_types` DROP COLUMN `inactive`;
269 ALTER TABLE `0_sales_types` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
270
271 ALTER TABLE `0_areas` DROP COLUMN `inactive`;
272 ALTER TABLE `0_areas` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
273
274 ALTER TABLE `0_salesman` DROP COLUMN `inactive`;
275 ALTER TABLE `0_salesman` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
276
277 ALTER TABLE `0_shippers` DROP COLUMN `inactive`;
278 ALTER TABLE `0_shippers` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
279
280 ALTER TABLE `0_credit_status` DROP COLUMN `inactive`;
281 ALTER TABLE `0_credit_status` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
282
283 ALTER TABLE `0_payment_terms` DROP COLUMN `inactive`;
284 ALTER TABLE `0_payment_terms` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
285
286 ALTER TABLE `0_suppliers` DROP COLUMN `inactive`;
287 ALTER TABLE `0_suppliers` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
288
289 ALTER TABLE `0_stock_category` DROP COLUMN `inactive`;
290 ALTER TABLE `0_stock_category` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
291
292 ALTER TABLE `0_item_units` DROP COLUMN `inactive`;
293 ALTER TABLE `0_item_units` ADD `inactive` tinyint(1) NOT NULL DEFAULT '0';
294
295 DROP TABLE IF EXISTS `0_trans_tax_details`;
296
297 CREATE TABLE `0_trans_tax_details` (
298   `id` int(11) NOT NULL auto_increment,
299   `trans_type` smallint(6) default NULL,
300   `trans_no` int(11) default NULL,
301   `tran_date` date NOT NULL,
302   `tax_type_id` int(11) NOT NULL default '0',
303   `rate` double NOT NULL default '0',
304   `included_in_price` tinyint(1) NOT NULL default '0',
305   `net_amount` double NOT NULL default '0',
306   `amount` double NOT NULL default '0',
307   `memo` tinytext default NULL,
308   PRIMARY KEY  (`id`)
309 ) TYPE=InnoDB AUTO_INCREMENT=1 ;
310