Line 88... |
Line 88... |
88 |
drop table if exists owner;
|
88 |
drop table if exists owner;
|
89 |
create table owner (
|
89 |
create table owner (
|
90 |
owner_id int unsigned not null auto_increment,
|
90 |
owner_id int unsigned not null auto_increment,
|
91 |
name varchar(64) comment 'name of owner',
|
91 |
name varchar(64) comment 'name of owner',
|
92 |
uuid varchar(36) comment 'unique id of this owner, normally uuid',
|
92 |
uuid varchar(36) comment 'unique id of this owner, normally uuid',
|
93 |
created date comment 'date record was created',
|
93 |
created date default current_timestamp comment 'date record was created',
|
94 |
removed date comment 'date record was removed',
|
94 |
removed date comment 'date record was removed',
|
95 |
primary key (owner_id)
|
95 |
primary key (owner_id)
|
96 |
) comment 'hold owner information';
|
96 |
) comment 'hold owner information';
|
97 |
|
97 |
|
98 |
/*
|
98 |
/*
|
Line 101... |
Line 101... |
101 |
drop table if exists location;
|
101 |
drop table if exists location;
|
102 |
create table location (
|
102 |
create table location (
|
103 |
location_id int unsigned not null auto_increment,
|
103 |
location_id int unsigned not null auto_increment,
|
104 |
name varchar(64) comment 'name of location',
|
104 |
name varchar(64) comment 'name of location',
|
105 |
uuid varchar(36) comment 'unique id of this location, normally uuid',
|
105 |
uuid varchar(36) comment 'unique id of this location, normally uuid',
|
106 |
created date comment 'date record was created',
|
106 |
created date default current_timestamp comment 'date record was created',
|
107 |
removed date comment 'date record was removed',
|
107 |
removed date comment 'date record was removed',
|
108 |
primary key (location_id)
|
108 |
primary key (location_id)
|
109 |
) comment 'hold location information';
|
109 |
) comment 'hold location information';
|
110 |
|
110 |
|
111 |
/*
|
111 |
/*
|
Line 114... |
Line 114... |
114 |
*/
|
114 |
*/
|
115 |
drop table if exists device_type;
|
115 |
drop table if exists device_type;
|
116 |
create table device_type (
|
116 |
create table device_type (
|
117 |
device_type_id int unsigned not null auto_increment,
|
117 |
device_type_id int unsigned not null auto_increment,
|
118 |
name varchar(64) comment 'name of device type',
|
118 |
name varchar(64) comment 'name of device type',
|
119 |
created date comment 'date record was created',
|
119 |
created date default current_timestamp comment 'date record was created',
|
120 |
removed date comment 'date record was removed',
|
120 |
removed date comment 'date record was removed',
|
121 |
primary key (device_type_id)
|
121 |
primary key (device_type_id)
|
122 |
) comment 'simple child table to determine the type of device we have';
|
122 |
) comment 'simple child table to determine the type of device we have';
|
123 |
|
123 |
|
124 |
/*
|
124 |
/*
|
Line 137... |
Line 137... |
137 |
create table device (
|
137 |
create table device (
|
138 |
device_id int unsigned not null auto_increment,
|
138 |
device_id int unsigned not null auto_increment,
|
139 |
uuid varchar(36) comment 'unique id of this device, normally uuid',
|
139 |
uuid varchar(36) comment 'unique id of this device, normally uuid',
|
140 |
serial varchar(32) comment 'serial number of this device, if we have it',
|
140 |
serial varchar(32) comment 'serial number of this device, if we have it',
|
141 |
name varchar(64) comment 'name of device',
|
141 |
name varchar(64) comment 'name of device',
|
142 |
created date comment 'date record was created',
|
142 |
created date default current_timestamp comment 'date record was created',
|
143 |
removed date comment 'date record was removed',
|
143 |
removed date comment 'date record was removed',
|
144 |
unique key unique_uuid( uuid, serial ),
|
144 |
unique key unique_uuid( uuid, serial ),
|
145 |
primary key (device_id)
|
145 |
primary key (device_id)
|
146 |
) comment 'holds individual devices';
|
146 |
) comment 'holds individual devices';
|
147 |
|
147 |
|
Line 166... |
Line 166... |
166 |
drop table if exists owner_location;
|
166 |
drop table if exists owner_location;
|
167 |
create table owner_location (
|
167 |
create table owner_location (
|
168 |
owner_location_id int unsigned not null auto_increment,
|
168 |
owner_location_id int unsigned not null auto_increment,
|
169 |
owner_id int unsigned not null references owner( owner_id ),
|
169 |
owner_id int unsigned not null references owner( owner_id ),
|
170 |
location_id int unsigned not null references location( location_id ),
|
170 |
location_id int unsigned not null references location( location_id ),
|
171 |
created date comment 'date record was created',
|
171 |
created date default current_timestamp comment 'date record was created',
|
172 |
removed date comment 'date record was removed',
|
172 |
removed date comment 'date record was removed',
|
173 |
index location_device ( owner_id,location_id ),
|
173 |
index location_device ( owner_id,location_id ),
|
174 |
primary key (owner_location_id)
|
174 |
primary key (owner_location_id)
|
175 |
) comment 'links ownership of a location to a owner';
|
175 |
) comment 'links ownership of a location to a owner';
|
176 |
|
176 |
|
Line 182... |
Line 182... |
182 |
drop table if exists location_device;
|
182 |
drop table if exists location_device;
|
183 |
create table location_device (
|
183 |
create table location_device (
|
184 |
location_device_id int unsigned not null auto_increment,
|
184 |
location_device_id int unsigned not null auto_increment,
|
185 |
location_id int unsigned not null references location( location_id ),
|
185 |
location_id int unsigned not null references location( location_id ),
|
186 |
device_id int unsigned not null references device( device_id ),
|
186 |
device_id int unsigned not null references device( device_id ),
|
187 |
created date comment 'date record was created',
|
187 |
created date default current_timestamp comment 'date record was created',
|
188 |
removed date comment 'date record was removed',
|
188 |
removed date comment 'date record was removed',
|
189 |
index location_device ( location_id,device_id ),
|
189 |
index location_device ( location_id,device_id ),
|
190 |
primary key (location_device_id)
|
190 |
primary key (location_device_id)
|
191 |
) comment 'links a device to its location';
|
191 |
) comment 'links a device to its location';
|
192 |
|
192 |
|
Line 198... |
Line 198... |
198 |
drop table if exists owner_device;
|
198 |
drop table if exists owner_device;
|
199 |
create table owner_device (
|
199 |
create table owner_device (
|
200 |
owner_device_id int unsigned not null auto_increment,
|
200 |
owner_device_id int unsigned not null auto_increment,
|
201 |
owner_id int unsigned not null references owner( owner_id ),
|
201 |
owner_id int unsigned not null references owner( owner_id ),
|
202 |
device_id int unsigned not null references device( device_id ),
|
202 |
device_id int unsigned not null references device( device_id ),
|
203 |
created date comment 'date record was created',
|
203 |
created date default current_timestamp comment 'date record was created',
|
204 |
removed date comment 'date record was removed',
|
204 |
removed date comment 'date record was removed',
|
205 |
index owner_device( owner_id, device_id ),
|
205 |
index owner_device( owner_id, device_id ),
|
206 |
primary key ( owner_device_id )
|
206 |
primary key ( owner_device_id )
|
207 |
) comment 'links a device to its owner';
|
207 |
) comment 'links a device to its owner';
|
208 |
|
208 |
|
Line 215... |
Line 215... |
215 |
drop table if exists device_device;
|
215 |
drop table if exists device_device;
|
216 |
create table device_device (
|
216 |
create table device_device (
|
217 |
device_device_id int unsigned not null auto_increment,
|
217 |
device_device_id int unsigned not null auto_increment,
|
218 |
device_id int unsigned not null references device( device_id ),
|
218 |
device_id int unsigned not null references device( device_id ),
|
219 |
parent_id int unsigned not null references device( device_id ),
|
219 |
parent_id int unsigned not null references device( device_id ),
|
220 |
created date comment 'date record was created',
|
220 |
created date default current_timestamp comment 'date record was created',
|
221 |
removed date comment 'date record was removed',
|
221 |
removed date comment 'date record was removed',
|
222 |
index device_device( device_id, parent_id ),
|
222 |
index device_device( device_id, parent_id ),
|
223 |
primary key ( device_device_id )
|
223 |
primary key ( device_device_id )
|
224 |
) comment 'links a device to another device';
|
224 |
) comment 'links a device to another device';
|
225 |
|
225 |
|
Line 320... |
Line 320... |
320 |
join location using (location_id)
|
320 |
join location using (location_id)
|
321 |
join owner_location on (location.location_id = owner_location.location_id)
|
321 |
join owner_location on (location.location_id = owner_location.location_id)
|
322 |
join owner loc_owner on (loc_owner.owner_id = owner_location.owner_id)
|
322 |
join owner loc_owner on (loc_owner.owner_id = owner_location.owner_id)
|
323 |
left outer join view_device_device parent using (device_id)
|
323 |
left outer join view_device_device parent using (device_id)
|
324 |
where
|
324 |
where
|
325 |
parent.removed is null;
|
325 |
parent.removed is null
|
- |
|
326 |
and owner_device.removed is null
|
- |
|
327 |
and location_device.removed is null
|
- |
|
328 |
and owner_location.removed is null;
|
326 |
|
329 |
|
327 |
|
330 |
|
328 |
insert into _system ( key_value, group_name, key_name ) values ( '0.1','database','version' )
|
331 |
insert into _system ( key_value, group_name, key_name ) values ( '0.1','database','version' )
|
329 |
on duplicate key update key_value = '0.1';
|
332 |
on duplicate key update key_value = '0.1';
|
330 |
insert into _system ( key_value, group_name, key_name ) values ( '', 'program', 'motd' );
|
333 |
insert into _system ( key_value, group_name, key_name ) values ( '', 'program', 'motd' );
|