source: trunk/install/schema.sql @ 245

Revision 245, 8.9 KB checked in by sque, 8 months ago (diff)

Merge branches/awmn 221:235
[awmn] Allow users to delete zones and nameservers without making a request to hostmaster
[awmn] Untaint sprintf
[awmn] Don't change to php script dir
[awmn] Add support to dump list of stealth nameservers
[awmn] Add active peers search fields to hostmaster's ranges page
[awmn] Redirect errors to stderr
[awmn] Don't explicitly set owner to 'N' (#146)
[awmn] Restrict ip ranges to valid b-classes (0-255)
[awmn] Escape HTML special characters
[awmn] Use appropriate entities for < and > HTML special characters
[awmn] Add missing 'alt' attribute for 'img' element
[awmn] Close 'td' and 'tr' elements properly
[awmn] Escape HTML special characters in services URLs
[awmn] Remove end of line carriage returns

Line 
1
2CREATE TABLE IF NOT EXISTS `areas` (
3  `id` int(10) unsigned NOT NULL auto_increment,
4  `region_id` int(10) unsigned NOT NULL default '0',
5  `name` varchar(40) NOT NULL default '',
6  `ip_start` int(10) NOT NULL default '0',
7  `ip_end` int(10) NOT NULL default '0',
8  `info` text,
9  PRIMARY KEY  (`id`),
10  KEY `region_id` (`region_id`),
11  KEY `name` (`name`),
12  KEY `ip_start` (`ip_start`),
13  KEY `ip_end` (`ip_end`)
14) ENGINE=MyISAM DEFAULT CHARSET=utf8;
15
16CREATE TABLE IF NOT EXISTS `dns_nameservers` (
17  `id` int(10) unsigned NOT NULL auto_increment,
18  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
19  `node_id` int(10) unsigned NOT NULL default '0',
20  `name` enum('ns0','ns1','ns2','ns3') NOT NULL default 'ns0',
21  `ip` int(10) NOT NULL default '0',
22  `status` enum('waiting','active','pending','rejected','invalid') NOT NULL default 'waiting',
23  PRIMARY KEY  (`id`),
24  UNIQUE KEY `unique_keys` (`name`,`node_id`),
25  KEY `date_in` (`date_in`),
26  KEY `node_id` (`node_id`),
27  KEY `ip` (`ip`),
28  KEY `status` (`status`)
29) ENGINE=MyISAM DEFAULT CHARSET=utf8;
30
31CREATE TABLE IF NOT EXISTS `dns_zones` (
32  `id` int(10) unsigned NOT NULL auto_increment,
33  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
34  `type` enum('forward','reverse') NOT NULL default 'forward',
35  `name` varchar(30) NOT NULL default '',
36  `node_id` int(10) unsigned default '0',
37  `status` enum('waiting','active','pending','rejected','invalid') NOT NULL default 'waiting',
38  `info` text,
39  PRIMARY KEY  (`id`),
40  UNIQUE KEY `unique_keys` (`name`,`type`),
41  KEY `type` (`type`),
42  KEY `date_in` (`date_in`),
43  KEY `node_id` (`node_id`),
44  KEY `status` (`status`)
45) ENGINE=MyISAM DEFAULT CHARSET=utf8;
46
47CREATE TABLE IF NOT EXISTS `dns_zones_nameservers` (
48  `id` int(10) unsigned NOT NULL auto_increment,
49  `zone_id` int(10) unsigned NOT NULL default '0',
50  `nameserver_id` int(10) unsigned NOT NULL default '0',
51  PRIMARY KEY  (`id`),
52  UNIQUE KEY `unique_keys` (`zone_id`,`nameserver_id`),
53  KEY `nameserver_id` (`nameserver_id`)
54) ENGINE=MyISAM DEFAULT CHARSET=utf8;
55
56CREATE TABLE IF NOT EXISTS `ip_addresses` (
57  `id` int(10) unsigned NOT NULL auto_increment,
58  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
59  `hostname` varchar(50) NOT NULL default '',
60  `ip` int(10) NOT NULL default '0',
61  `mac` varchar(17) default NULL,
62  `node_id` int(10) unsigned NOT NULL default '0',
63  `type` enum('router','server','pc','wireless-bridge','voip','camera','other') NOT NULL default 'pc',
64  `always_on` enum('Y','N') NOT NULL default 'N',
65  `info` text,
66  PRIMARY KEY  (`id`),
67  KEY `ip` (`ip`),
68  KEY `node_id` (`node_id`),
69  KEY `hostname` (`hostname`),
70  KEY `type` (`type`)
71) ENGINE=MyISAM DEFAULT CHARSET=utf8;
72
73CREATE TABLE IF NOT EXISTS `ip_ranges` (
74  `id` int(10) unsigned NOT NULL auto_increment,
75  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
76  `node_id` int(10) unsigned NOT NULL default '0',
77  `ip_start` int(10) NOT NULL default '0',
78  `ip_end` int(10) NOT NULL default '0',
79  `status` enum('waiting','active','pending','rejected','invalid') NOT NULL default 'waiting',
80  `info` text,
81  `delete_req` enum('Y','N') NOT NULL default 'N',
82  PRIMARY KEY  (`id`),
83  UNIQUE KEY `unique_keys` (`node_id`,`ip_start`,`ip_end`),
84  KEY `date_in` (`date_in`),
85  KEY `ip_start` (`ip_start`),
86  KEY `ip_end` (`ip_end`),
87  KEY `status` (`status`),
88  KEY `delete_req` (`delete_req`)
89) ENGINE=MyISAM DEFAULT CHARSET=utf8;
90
91CREATE TABLE IF NOT EXISTS `links` (
92  `id` int(10) unsigned NOT NULL auto_increment,
93  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
94  `node_id` int(10) unsigned NOT NULL default '0',
95  `peer_node_id` int(10) unsigned default NULL,
96  `peer_ap_id` int(10) unsigned default NULL,
97  `type` enum('p2p','ap','client') NOT NULL default 'p2p',
98  `ssid` varchar(50) default NULL,
99  `protocol` enum('IEEE 802.11b','IEEE 802.11g','IEEE 802.11a','IEEE 802.11n','IEEE 802.3i (Ethernet)','IEEE 802.3u (Fast Ethernet)','IEEE 802.3ab (Gigabit Ethernet)','other') default NULL,
100  `channel` varchar(50) default NULL,
101  `status` enum('active','inactive') NOT NULL default 'active',
102  `equipment` text,
103  `info` text,
104  PRIMARY KEY  (`id`),
105  KEY `node_id` (`node_id`,`type`,`status`),
106  KEY `peer_node_id` (`peer_node_id`,`type`,`status`),
107  KEY `type` (`type`),
108  KEY `status` (`status`),
109  KEY `peer_ap_id` (`peer_ap_id`,`type`,`status`)
110) ENGINE=MyISAM DEFAULT CHARSET=utf8;
111
112CREATE TABLE IF NOT EXISTS `nodes` (
113  `id` int(10) unsigned NOT NULL auto_increment,
114  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
115  `name` varchar(50) NOT NULL default '',
116  `name_ns` varchar(50) NOT NULL default '',
117  `area_id` int(10) unsigned default '0',
118  `latitude` float default NULL,
119  `longitude` float default NULL,
120  `elevation` int(10) unsigned default NULL,
121  `info` text,
122  PRIMARY KEY  (`id`),
123  UNIQUE KEY `unique_keys` (`name_ns`),
124  KEY `date_in` (`date_in`),
125  KEY `name` (`name`),
126  KEY `area_id` (`area_id`),
127  KEY `latitude` (`latitude`),
128  KEY `longitude` (`longitude`)
129) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;
130
131CREATE TABLE IF NOT EXISTS `nodes_services` (
132  `id` int(10) unsigned NOT NULL auto_increment,
133  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
134  `node_id` int(10) unsigned NOT NULL default '0',
135  `service_id` int(10) unsigned NOT NULL default '0',
136  `ip_id` int(10) unsigned default '0',
137  `url` varchar(255) default NULL,
138  `info` text,
139  `status` enum('active','inactive') NOT NULL default 'active',
140  `protocol` enum('tcp','udp') default NULL,
141  `port` int(10) unsigned default NULL,
142  PRIMARY KEY  (`id`),
143  KEY `date_in` (`date_in`),
144  KEY `node_id` (`node_id`),
145  KEY `service_id` (`service_id`)
146) ENGINE=MyISAM DEFAULT CHARSET=utf8;
147
148CREATE TABLE IF NOT EXISTS `photos` (
149  `id` int(10) unsigned NOT NULL auto_increment,
150  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
151  `node_id` int(10) unsigned NOT NULL default '0',
152  `type` enum('galery','view') NOT NULL default 'galery',
153  `view_point` enum('N','NE','E','SE','S','SW','W','NW','PANORAMIC') default NULL,
154  `info` text,
155  PRIMARY KEY  (`id`),
156  KEY `date_in` (`date_in`),
157  KEY `node_id` (`node_id`),
158  KEY `type` (`type`),
159  KEY `view_point` (`view_point`)
160) ENGINE=MyISAM DEFAULT CHARSET=utf8;
161
162CREATE TABLE IF NOT EXISTS `regions` (
163  `id` int(10) unsigned NOT NULL auto_increment,
164  `name` varchar(40) NOT NULL default '',
165  `ip_start` int(10) NOT NULL default '0',
166  `ip_end` int(10) NOT NULL default '0',
167  `info` text,
168  PRIMARY KEY  (`id`),
169  KEY `name` (`name`),
170  KEY `ip_start` (`ip_start`),
171  KEY `ip_end` (`ip_end`)
172) ENGINE=MyISAM DEFAULT CHARSET=utf8;
173
174CREATE TABLE IF NOT EXISTS `rights` (
175  `id` int(10) unsigned NOT NULL auto_increment,
176  `user_id` int(10) unsigned NOT NULL default '0',
177  `type` enum('blocked','admin','hostmaster') NOT NULL default 'blocked',
178  PRIMARY KEY  (`id`),
179  UNIQUE KEY `unique_keys` (`type`,`user_id`),
180  KEY `user_id` (`user_id`)
181) ENGINE=MyISAM DEFAULT CHARSET=utf8;
182
183CREATE TABLE IF NOT EXISTS `services` (
184  `id` int(10) unsigned NOT NULL auto_increment,
185  `title` varchar(255) NOT NULL default '',
186  `protocol` enum('tcp','udp') default NULL,
187  `port` int(10) unsigned default '0',
188  PRIMARY KEY  (`id`),
189  KEY `title` (`title`)
190) ENGINE=MyISAM DEFAULT CHARSET=utf8;
191
192CREATE TABLE IF NOT EXISTS `subnets` (
193  `id` int(10) unsigned NOT NULL auto_increment,
194  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
195  `node_id` int(10) unsigned default NULL,
196  `ip_start` int(10) NOT NULL default '0',
197  `ip_end` int(10) NOT NULL default '0',
198  `type` enum('local','link','client') NOT NULL default 'local',
199  `link_id` int(10) unsigned default NULL,
200  `client_node_id` int(10) unsigned default NULL,
201  PRIMARY KEY  (`id`),
202  KEY `node_id` (`node_id`)
203) ENGINE=MyISAM DEFAULT CHARSET=utf8;
204
205CREATE TABLE IF NOT EXISTS `users` (
206  `id` int(10) unsigned NOT NULL auto_increment,
207  `date_in` datetime NOT NULL default '0000-00-00 00:00:00',
208  `username` varchar(30) NOT NULL default '',
209  `password` varchar(40) default NULL,
210  `surname` varchar(30) default NULL,
211  `name` varchar(30) default NULL,
212  `phone` varchar(60) default NULL,
213  `email` varchar(50) NOT NULL default '',
214  `info` text,
215  `last_session` datetime default NULL,
216  `last_visit` datetime default NULL,
217  `status` enum('activated','pending') NOT NULL default 'pending',
218  `account_code` varchar(20) default NULL,
219  `language` varchar(30) default NULL,
220  PRIMARY KEY  (`id`),
221  UNIQUE KEY `username` (`username`),
222  UNIQUE KEY `email` (`email`),
223  KEY `date_in` (`date_in`),
224  KEY `password` (`password`),
225  KEY `surname` (`surname`),
226  KEY `name` (`name`),
227  KEY `status` (`status`)
228) ENGINE=MyISAM DEFAULT CHARSET=utf8;
229
230CREATE TABLE IF NOT EXISTS `users_nodes` (
231  `id` int(10) unsigned NOT NULL auto_increment,
232  `user_id` int(10) unsigned NOT NULL default '0',
233  `node_id` int(10) unsigned NOT NULL default '0',
234  `owner` enum('Y','N') NOT NULL default 'N',
235  PRIMARY KEY  (`id`),
236  UNIQUE KEY `unique_keys` (`node_id`,`user_id`),
237  KEY `user_id` (`user_id`)
238) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Note: See TracBrowser for help on using the repository browser.