Additions for foreign item codes support.
[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) 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   `bin_data` mediumblob NOT NULL,
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` int(11) NOT NULL auto_increment,
34   `description` varchar(60) NOT NULL default '',
35   PRIMARY KEY  (`id`),
36   UNIQUE KEY `description` (`description`)
37 ) TYPE=MyISAM AUTO_INCREMENT=1 ;
38
39 INSERT INTO `0_groups` VALUES ('1', 'Small');
40 INSERT INTO `0_groups` VALUES ('2', 'Medium');
41 INSERT INTO `0_groups` VALUES ('3', 'Large');
42
43 DROP TABLE IF EXISTS `0_recurrent_invoices`;
44
45 CREATE TABLE `0_recurrent_invoices` (
46   `id` int(11) NOT NULL auto_increment,
47   `description` varchar(60) NOT NULL default '',
48   `order_no` int(11) NOT NULL default '0',
49   `debtor_no` int(11) NOT NULL default '0',
50   `group_no` int(11) NOT NULL default '0',
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',
56   PRIMARY KEY  (`id`),
57   UNIQUE KEY `description` (`description`)
58 ) TYPE=InnoDB AUTO_INCREMENT=1 ;
59
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';
62
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';
67
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
72 ALTER TABLE `0_users` DROP COLUMN `query_size`;
73 ALTER TABLE `0_users` ADD `query_size` TINYINT(1) DEFAULT '10';
74
75 DROP TABLE IF EXISTS `0_sales_pos`;
76
77 CREATE TABLE `0_sales_pos` (
78   `id` smallint(6) NOT NULL auto_increment,
79   `pos_name` varchar(30) NOT NULL,
80   `cash_sale` tinyint(1) NOT NULL,
81   `credit_sale` tinyint(1) NOT NULL,
82   `pos_location` varchar(5) NOT NULL,
83   `pos_account` varchar(11) NOT NULL,
84   PRIMARY KEY  (`id`),
85   UNIQUE KEY(`pos_name`)
86 ) TYPE=MyISAM AUTO_INCREMENT=1;
87
88 INSERT INTO `0_sales_pos` VALUES ('1', 'Default', '1', '1', 'DEF', '1');
89
90 ALTER TABLE `0_users` DROP COLUMN `pos`;
91 ALTER TABLE `0_users` ADD `pos` SMALLINT(6) DEFAULT '1';
92
93 DROP TABLE IF EXISTS `0_quick_entries`;
94
95 CREATE TABLE `0_quick_entries` (
96   `id` smallint(6) NOT NULL auto_increment,
97   `description` varchar(60) NOT NULL,
98   `deposit` tinyint(1) NOT NULL default '0',
99   `bank_only` tinyint(1) NOT NULL default '0',
100   PRIMARY KEY  (`id`),
101   KEY `description` (`description`)
102 ) TYPE=MyISAM AUTO_INCREMENT=1;
103
104 INSERT INTO `0_quick_entries` VALUES ('1', 'Maintenance', '0', '1');
105 INSERT INTO `0_quick_entries` VALUES ('2', 'Phone', '0', '1');
106 INSERT INTO `0_quick_entries` VALUES ('3', 'Cash Sales', '1', '1');
107
108 DROP TABLE IF EXISTS `0_quick_entry_lines`;
109
110 CREATE TABLE `0_quick_entry_lines` (
111   `id` smallint(6) NOT NULL auto_increment,
112   `qid` smallint(6) NOT NULL,
113   `account` varchar(11) NOT NULL,
114   `tax_acc` tinyint(1) NOT NULL default '0',
115   `pct` tinyint(1) NOT NULL default '0',
116   `amount` double default NULL default '0',
117   `dimension_id` int(11) NOT NULL default '0',
118   `dimension2_id` int(11) NOT NULL default '0',
119   PRIMARY KEY  (`id`),
120   KEY `qid` (`qid`)
121 ) TYPE=MyISAM AUTO_INCREMENT=1;
122
123 INSERT INTO `0_quick_entry_lines` VALUES ('1', '1', '6600', '1', '0', 0, '0', '0');
124 INSERT INTO `0_quick_entry_lines` VALUES ('2', '2', '6730', '1', '0', 0, '0', '0');
125 INSERT INTO `0_quick_entry_lines` VALUES ('3', '3', '3000', '1', '0', 0, '0', '0');
126
127 ALTER TABLE `0_users` DROP COLUMN `print_profile`;
128 ALTER TABLE `0_users` ADD `print_profile` VARCHAR(30) DEFAULT '' AFTER `show_hints` ;
129 ALTER TABLE `0_users` DROP COLUMN `rep_popup`;
130 ALTER TABLE `0_users` ADD `rep_popup` TINYINT(1) DEFAULT '1' AFTER `print_profile` ;
131
132 DROP TABLE IF EXISTS `0_print_profiles`;
133 CREATE TABLE `0_print_profiles` (
134   `id` tinyint(11) NOT NULL auto_increment,
135   `profile` varchar(30) NOT NULL,
136   `report` varchar(5) NOT NULL,
137   `printer` tinyint(5) NOT NULL,
138   PRIMARY KEY  (`id`),
139   UNIQUE KEY `profile` (`profile`,`report`)
140 ) TYPE=MyISAM AUTO_INCREMENT=10;
141
142 INSERT INTO `0_print_profiles` VALUES ('1', 'Out of office', '', '0');
143 INSERT INTO `0_print_profiles` VALUES ('2', 'Sales Department', '', '0');
144 INSERT INTO `0_print_profiles` VALUES ('3', 'Central', '', '2');
145 INSERT INTO `0_print_profiles` VALUES ('4', 'Sales Department', '104', '2');
146 INSERT INTO `0_print_profiles` VALUES ('5', 'Sales Department', '105', '2');
147 INSERT INTO `0_print_profiles` VALUES ('6', 'Sales Department', '107', '2');
148 INSERT INTO `0_print_profiles` VALUES ('7', 'Sales Department', '109', '2');
149 INSERT INTO `0_print_profiles` VALUES ('8', 'Sales Department', '110', '2');
150 INSERT INTO `0_print_profiles` VALUES ('9', 'Sales Department', '201', '2');
151
152 DROP TABLE IF EXISTS `0_printers`;
153
154 CREATE TABLE `0_printers` (
155   `id` smallint(6) NOT NULL auto_increment,
156   `name` varchar(20) NOT NULL,
157   `description` varchar(60) NOT NULL,
158   `queue` varchar(20) NOT NULL,
159   `host` varchar(40) NOT NULL,
160   `port` smallint(11) unsigned NOT NULL,
161   `timeout` tinyint(3) unsigned NOT NULL,
162   PRIMARY KEY  (`id`),
163   UNIQUE KEY `name` (`name`)
164 ) TYPE=MyISAM AUTO_INCREMENT=4;
165
166 INSERT INTO `0_printers` VALUES ('1', 'QL500', 'Label printer', 'QL500', 'server', '127', '20');
167 INSERT INTO `0_printers` VALUES ('2', 'Samsung', 'Main network printer', 'scx4521F', 'server', '515', '5');
168 INSERT INTO `0_printers` VALUES ('3', 'Local', 'Local print server at user IP', 'lp', '', '515', '10');
169
170 DROP TABLE IF EXISTS `0_item_codes`;
171
172 CREATE TABLE `0_item_codes` (
173   `id` int(11) NOT NULL auto_increment,
174   `item_code` varchar(20) NOT NULL,
175   `stock_id` varchar(20) NOT NULL,
176   `description` varchar(200) NOT NULL default '',
177   `quantity` double NOT NULL default '1',
178   `foreign` tinyint(1) NOT NULL default 0,
179   PRIMARY KEY  (`id`),
180   UNIQUE KEY(`stock_id`, `item_code`)
181 ) TYPE=MyISAM AUTO_INCREMENT=1;
182
183 ALTER TABLE `0_company` DROP COLUMN `foreign_codes`;
184 ALTER TABLE `0_company` ADD `foreign_codes` TINYINT(1) NOT NULL DEFAULT '0';