@@ -129,26 +129,26 @@ INSERT INTO modification(id, modification_type)
129
129
VALUES(2, "delete");
130
130
131
131
# Create table dhcp4_server
132
+ #
132
133
CREATE TABLE IF NOT EXISTS dhcp4_server (
133
134
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
134
135
tag VARCHAR(256) NOT NULL,
135
136
description TEXT,
136
137
modification_ts TIMESTAMP NOT NULL,
137
138
PRIMARY KEY (id),
138
139
UNIQUE KEY dhcp4_server_tag_UNIQUE (tag),
139
- UNIQUE KEY id_UNIQUE (id),
140
140
KEY key_dhcp4_server_modification_ts (modification_ts)
141
141
) ENGINE=InnoDB;
142
142
143
143
# Create table dhcp4_audit
144
+ #
144
145
CREATE TABLE IF NOT EXISTS dhcp4_audit (
145
146
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
146
147
object_type VARCHAR(256) NOT NULL,
147
- object_id VARCHAR(128) NOT NULL,
148
+ object_id BIGINT(2) UNSIGNED NOT NULL,
148
149
modification_type TINYINT(1) NOT NULL,
149
150
modification_ts TIMESTAMP NOT NULL,
150
151
PRIMARY KEY (id),
151
- UNIQUE KEY id_UNIQUE (id),
152
152
KEY key_dhcp4_audit_by_modification_ts (modification_ts),
153
153
KEY fk_dhcp4_audit_modification_type (modification_type),
154
154
CONSTRAINT fk_dhcp4_audit_modification_type FOREIGN KEY (modification_type)
@@ -157,18 +157,20 @@ CREATE TABLE IF NOT EXISTS dhcp4_audit (
157
157
) ENGINE=InnoDB;
158
158
159
159
# Create table dhcp4_global_parameter
160
+ #
160
161
CREATE TABLE IF NOT EXISTS dhcp4_global_parameter (
161
162
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
162
163
name VARCHAR(128) NOT NULL,
163
164
value LONGTEXT NOT NULL,
164
165
modification_ts timestamp NOT NULL,
165
166
PRIMARY KEY (id),
166
- UNIQUE KEY id_UNIQUE (id),
167
167
KEY key_dhcp4_global_parameter_modification_ts (modification_ts),
168
168
KEY key_dhcp4_global_parameter_name (name)
169
169
) ENGINE=InnoDB;
170
170
171
171
# Create table dhcp4_global_parameter_server
172
+ # M-to-M cross-reference between global parameters and servers
173
+ #
172
174
CREATE TABLE IF NOT EXISTS dhcp4_global_parameter_server (
173
175
parameter_id BIGINT(20) UNSIGNED NOT NULL,
174
176
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -185,6 +187,7 @@ CREATE TABLE IF NOT EXISTS dhcp4_global_parameter_server (
185
187
) ENGINE=InnoDB;
186
188
187
189
# Create table dhcp4_option_def
190
+ #
188
191
CREATE TABLE IF NOT EXISTS dhcp4_option_def (
189
192
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
190
193
code TINYINT(3) UNSIGNED NOT NULL,
@@ -195,12 +198,13 @@ CREATE TABLE IF NOT EXISTS dhcp4_option_def (
195
198
record_types VARCHAR(512) DEFAULT NULL,
196
199
user_context LONGTEXT,
197
200
PRIMARY KEY (id),
198
- UNIQUE KEY id_UNIQUE (id),
199
201
KEY key_dhcp4_option_def_modification_ts (modification_ts),
200
202
KEY key_dhcp4_option_def_code_space (code, space)
201
203
) ENGINE=InnoDB;
202
204
203
205
# Create table dhcp4_option_def_server
206
+ # M-to-M cross-reference between option definitions and servers
207
+ #
204
208
CREATE TABLE IF NOT EXISTS dhcp4_option_def_server (
205
209
option_def_id BIGINT(20) UNSIGNED NOT NULL,
206
210
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -216,7 +220,9 @@ CREATE TABLE IF NOT EXISTS dhcp4_option_def_server (
216
220
) ENGINE=InnoDB;
217
221
218
222
# Create table dhcp4_shared_network
223
+ #
219
224
CREATE TABLE IF NOT EXISTS dhcp4_shared_network (
225
+ id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
220
226
name VARCHAR(128) NOT NULL,
221
227
client_class VARCHAR(128) DEFAULT NULL,
222
228
interface VARCHAR(128) DEFAULT NULL,
@@ -230,27 +236,32 @@ CREATE TABLE IF NOT EXISTS dhcp4_shared_network (
230
236
server_hostname VARCHAR(512) DEFAULT NULL,
231
237
user_context LONGTEXT,
232
238
valid_lifetime INT(10) DEFAULT NULL,
233
- PRIMARY KEY (name),
239
+ PRIMARY KEY (id),
240
+ UNIQUE KEY name_UNIQUE (name),
234
241
KEY key_dhcp4_shared_network_modification_ts (modification_ts)
235
242
) ENGINE=InnoDB;
236
243
237
244
# Create table dhcp4_shared_network_server
245
+ # M-to-M cross-reference between shared networks and servers
246
+ #
238
247
CREATE TABLE IF NOT EXISTS dhcp4_shared_network_server (
239
- shared_network_name VARCHAR(128) NOT NULL,
248
+ shared_network_id BIGINT(20) UNSIGNED NOT NULL,
240
249
server_id BIGINT(20) UNSIGNED NOT NULL,
241
250
modification_ts TIMESTAMP NOT NULL,
242
- PRIMARY KEY (shared_network_name , server_id),
251
+ PRIMARY KEY (shared_network_id , server_id),
243
252
KEY key_dhcp4_shared_network_server_modification_ts (modification_ts),
244
- KEY fk_dhcp4_shared_network_server_server_id_idx (server_id),
253
+ KEY fk_dhcp4_shared_network_server_server_id (server_id),
245
254
CONSTRAINT fk_dhcp4_shared_network_server_server_id FOREIGN KEY (server_id)
246
255
REFERENCES dhcp4_server (id)
247
256
ON DELETE NO ACTION ON UPDATE NO ACTION,
248
- CONSTRAINT fk_dhcp4_shared_network_server_shared_network_name FOREIGN KEY (shared_network_name )
249
- REFERENCES dhcp4_shared_network (name ) ON DELETE NO ACTION ON UPDATE NO ACTION
257
+ CONSTRAINT fk_dhcp4_shared_network_server_shared_network_id FOREIGN KEY (shared_network_id )
258
+ REFERENCES dhcp4_shared_network (id ) ON DELETE NO ACTION ON UPDATE NO ACTION
250
259
) ENGINE=InnoDB;
251
260
252
261
# Create table dhcp4_subnet
262
+ #
253
263
CREATE TABLE IF NOT EXISTS dhcp4_subnet (
264
+ subnet_id INT(10) UNSIGNED NOT NULL,
254
265
subnet_prefix VARCHAR(32) NOT NULL,
255
266
4o6_interface VARCHAR(128) DEFAULT NULL,
256
267
4o6_interface_id VARCHAR(128) DEFAULT NULL,
@@ -268,13 +279,10 @@ CREATE TABLE IF NOT EXISTS dhcp4_subnet (
268
279
reservation_mode TINYINT(3) NOT NULL DEFAULT '3',
269
280
server_hostname VARCHAR(512) DEFAULT NULL,
270
281
shared_network_name VARCHAR(128) DEFAULT NULL,
271
- subnet_id INT(10) UNSIGNED NOT NULL,
272
282
user_context LONGTEXT,
273
283
valid_lifetime INT(10) DEFAULT NULL,
274
284
PRIMARY KEY (subnet_id),
275
- UNIQUE KEY subnet_id_UNIQUE (subnet_id),
276
- UNIQUE KEY subnet_prefix_UNIQUE (subnet_id),
277
- KEY subnet4_subnet_prefix (subnet_prefix),
285
+ UNIQUE KEY subnet4_subnet_prefix (subnet_prefix),
278
286
KEY fk_dhcp4_subnet_shared_network (shared_network_name),
279
287
KEY key_dhcp4_subnet_modification_ts (modification_ts),
280
288
CONSTRAINT fk_dhcp4_subnet_shared_network FOREIGN KEY (shared_network_name)
@@ -283,7 +291,7 @@ CREATE TABLE IF NOT EXISTS dhcp4_subnet (
283
291
) ENGINE=InnoDB;
284
292
285
293
# Create table dhcp4_pool
286
- -- -----------------------------------------------------
294
+ #
287
295
CREATE TABLE IF NOT EXISTS dhcp4_pool (
288
296
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
289
297
start_address INT(10) NOT NULL,
@@ -299,6 +307,8 @@ CREATE TABLE IF NOT EXISTS dhcp4_pool (
299
307
) ENGINE=InnoDB;
300
308
301
309
# Create table dhcp4_subnet_server
310
+ # M-to-M cross-reference between subnets and servers
311
+ #
302
312
CREATE TABLE IF NOT EXISTS dhcp4_subnet_server (
303
313
subnet_id INT(10) UNSIGNED NOT NULL,
304
314
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -316,6 +326,7 @@ CREATE TABLE IF NOT EXISTS dhcp4_subnet_server (
316
326
317
327
318
328
# Modify the primary key to BINGINT as other tables have.
329
+ #
319
330
ALTER TABLE dhcp4_options MODIFY option_id BIGINT(20) UNSIGNED NOT NULL;
320
331
321
332
# Add conifguration backend specific columns.
@@ -325,6 +336,8 @@ ALTER TABLE dhcp4_options
325
336
ADD COLUMN modification_ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
326
337
327
338
# Create table dhcp4_options_server
339
+ # M-to-M cross-reference between options and servers
340
+ #
328
341
CREATE TABLE IF NOT EXISTS dhcp4_options_server (
329
342
option_id BIGINT(20) UNSIGNED NOT NULL,
330
343
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -341,26 +354,26 @@ CREATE TABLE IF NOT EXISTS dhcp4_options_server (
341
354
) ENGINE=InnoDB;
342
355
343
356
# Create table dhcp6_server
357
+ #
344
358
CREATE TABLE IF NOT EXISTS dhcp6_server (
345
359
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
346
360
tag VARCHAR(256) NOT NULL,
347
361
description TEXT,
348
362
modification_ts TIMESTAMP NOT NULL,
349
363
PRIMARY KEY (id),
350
364
UNIQUE KEY dhcp6_server_tag_UNIQUE (tag),
351
- UNIQUE KEY id_UNIQUE (id),
352
365
KEY key_dhcp6_server_modification_ts (modification_ts)
353
366
) ENGINE=InnoDB;
354
367
355
368
# Create table dhcp6_audit
369
+ #
356
370
CREATE TABLE IF NOT EXISTS dhcp6_audit (
357
371
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
358
372
object_type VARCHAR(256) NOT NULL,
359
- object_id VARCHAR(128) NOT NULL,
373
+ object_id BIGINT(20) UNSIGNED NOT NULL,
360
374
modification_type TINYINT(1) NOT NULL,
361
375
modification_ts TIMESTAMP NOT NULL,
362
376
PRIMARY KEY (id),
363
- UNIQUE KEY id_UNIQUE (id),
364
377
KEY key_dhcp6_audit_modification_ts (modification_ts),
365
378
KEY fk_dhcp6_audit_modification_type (modification_type),
366
379
CONSTRAINT fk_dhcp6_audit_modification_type FOREIGN KEY (modification_type)
@@ -369,18 +382,20 @@ CREATE TABLE IF NOT EXISTS dhcp6_audit (
369
382
) ENGINE=InnoDB;
370
383
371
384
# Create table dhcp6_global_parameter
385
+ #
372
386
CREATE TABLE IF NOT EXISTS dhcp6_global_parameter (
373
387
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
374
388
name VARCHAR(128) NOT NULL,
375
389
value LONGTEXT NOT NULL,
376
390
modification_ts timestamp NOT NULL,
377
391
PRIMARY KEY (id),
378
- UNIQUE KEY id_UNIQUE (id),
379
392
KEY key_dhcp6_global_parameter_modification_ts (modification_ts),
380
393
KEY key_dhcp6_global_parameter_name (name)
381
394
) ENGINE=InnoDB;
382
395
383
396
# Create table dhcp6_global_parameter_server
397
+ # M-to-M cross-reference between global parameters and servers
398
+ #
384
399
CREATE TABLE IF NOT EXISTS dhcp6_global_parameter_server (
385
400
parameter_id BIGINT(20) UNSIGNED NOT NULL,
386
401
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -397,6 +412,7 @@ CREATE TABLE IF NOT EXISTS dhcp6_global_parameter_server (
397
412
) ENGINE=InnoDB;
398
413
399
414
# Create table dhcp6_option_def
415
+ #
400
416
CREATE TABLE IF NOT EXISTS dhcp6_option_def (
401
417
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
402
418
code TINYINT(3) UNSIGNED NOT NULL,
@@ -407,12 +423,13 @@ CREATE TABLE IF NOT EXISTS dhcp6_option_def (
407
423
record_types VARCHAR(512) DEFAULT NULL,
408
424
user_context LONGTEXT,
409
425
PRIMARY KEY (id),
410
- UNIQUE KEY id_UNIQUE (id),
411
426
KEY key_dhcp6_option_def_modification_ts (modification_ts),
412
427
KEY key_dhcp6_option_def_code_space (code, space)
413
428
) ENGINE=InnoDB;
414
429
415
430
# Create table dhcp6_option_def_server
431
+ # M-to-M cross-reference between option definitions and servers
432
+ #
416
433
CREATE TABLE IF NOT EXISTS dhcp6_option_def_server (
417
434
option_def_id BIGINT(20) UNSIGNED NOT NULL,
418
435
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -428,7 +445,9 @@ CREATE TABLE IF NOT EXISTS dhcp6_option_def_server (
428
445
) ENGINE=InnoDB;
429
446
430
447
# Create table dhcp6_shared_network
448
+ #
431
449
CREATE TABLE dhcp6_shared_network (
450
+ id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
432
451
name VARCHAR(128) NOT NULL,
433
452
client_class VARCHAR(128) DEFAULT NULL,
434
453
interface VARCHAR(128) DEFAULT NULL,
@@ -443,28 +462,33 @@ CREATE TABLE dhcp6_shared_network (
443
462
server_hostname VARCHAR(512) DEFAULT NULL,
444
463
user_context LONGTEXT,
445
464
valid_lifetime INT(10) DEFAULT NULL,
446
- PRIMARY KEY (name),
465
+ PRIMARY KEY (id),
466
+ UNIQUE KEY name_UNIQUE (name),
447
467
KEY key_dhcp6_shared_network_modification_ts (modification_ts)
448
468
) ENGINE=InnoDB;
449
469
450
470
# Create table dhcp6_shared_network_server
471
+ # M-to-M cross-reference between shared networks and servers
472
+ #
451
473
CREATE TABLE IF NOT EXISTS dhcp6_shared_network_server (
452
- shared_network_name VARCHAR(128) NOT NULL,
474
+ shared_network_id BIGINT(20) UNSIGNED NOT NULL,
453
475
server_id BIGINT(20) UNSIGNED NOT NULL,
454
476
modification_ts TIMESTAMP NOT NULL,
455
477
KEY key_dhcp6_shared_network_server_modification_ts (modification_ts),
456
478
KEY fk_dhcp6_shared_network_server_server_id_idx (server_id),
457
- KEY fk_dhcp6_shared_network_server_shared_network_name (shared_network_name ),
479
+ KEY fk_dhcp6_shared_network_server_shared_network_id (shared_network_id ),
458
480
CONSTRAINT fk_dhcp6_shared_network_server_server_id FOREIGN KEY (server_id)
459
481
REFERENCES dhcp6_server (id)
460
482
ON DELETE NO ACTION ON UPDATE NO ACTION,
461
- CONSTRAINT fk_dhcp6_shared_network_server_shared_network_name FOREIGN KEY (shared_network_name )
462
- REFERENCES dhcp6_shared_network (name )
483
+ CONSTRAINT fk_dhcp6_shared_network_server_shared_network_id FOREIGN KEY (shared_network_id )
484
+ REFERENCES dhcp6_shared_network (id )
463
485
ON DELETE NO ACTION ON UPDATE NO ACTION
464
486
) ENGINE=InnoDB;
465
487
466
488
# Create table dhcp6_subnet
489
+ #
467
490
CREATE TABLE dhcp6_subnet (
491
+ subnet_id int(10) UNSIGNED NOT NULL,
468
492
subnet_prefix VARCHAR(64) NOT NULL,
469
493
client_class VARCHAR(128) DEFAULT NULL,
470
494
interface VARCHAR(128) DEFAULT NULL,
@@ -477,13 +501,10 @@ CREATE TABLE dhcp6_subnet (
477
501
require_client_classes LONGTEXT,
478
502
reservation_mode TINYINT(3) NOT NULL DEFAULT '3',
479
503
shared_network_name VARCHAR(128) DEFAULT NULL,
480
- subnet_id int(10) UNSIGNED NOT NULL,
481
504
user_context LONGTEXT,
482
505
valid_lifetime INT(10) DEFAULT NULL,
483
506
PRIMARY KEY (subnet_id),
484
- UNIQUE KEY subnet_id_UNIQUE (subnet_id),
485
- UNIQUE KEY subnet_prefix_UNIQUE (subnet_id),
486
- KEY subnet6_subnet_prefix (subnet_prefix),
507
+ UNIQUE KEY subnet6_subnet_prefix (subnet_prefix),
487
508
KEY fk_dhcp6_subnet_shared_network (shared_network_name),
488
509
KEY key_dhcp6_subnet_modification_ts (modification_ts),
489
510
CONSTRAINT fk_dhcp6_subnet_shared_network FOREIGN KEY (shared_network_name)
@@ -492,6 +513,8 @@ CREATE TABLE dhcp6_subnet (
492
513
) ENGINE=InnoDB;
493
514
494
515
# Create table dhcp6_subnet_server
516
+ # M-to-M cross-reference between subnets and servers
517
+ #
495
518
CREATE TABLE dhcp6_subnet_server (
496
519
subnet_id INT(10) UNSIGNED NOT NULL,
497
520
server_id BIGINT(20) UNSIGNED NOT NULL,
@@ -508,6 +531,7 @@ CREATE TABLE dhcp6_subnet_server (
508
531
) ENGINE=InnoDB;
509
532
510
533
# Create table dhcp6_pd_pool
534
+ #
511
535
CREATE TABLE IF NOT EXISTS dhcp6_pd_pool (
512
536
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
513
537
prefix VARCHAR(45) NOT NULL,
@@ -523,6 +547,7 @@ CREATE TABLE IF NOT EXISTS dhcp6_pd_pool (
523
547
) ENGINE=InnoDB;
524
548
525
549
# Create table dhcp6_pool
550
+ #
526
551
CREATE TABLE IF NOT EXISTS dhcp6_pool (
527
552
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
528
553
start_address VARCHAR(45) NOT NULL,
@@ -547,6 +572,8 @@ ALTER TABLE dhcp6_options
547
572
ADD COLUMN modification_ts TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
548
573
549
574
# Create table dhcp6_options_server
575
+ # M-to-M cross-reference between options and servers
576
+ #
550
577
CREATE TABLE IF NOT EXISTS dhcp6_options_server (
551
578
option_id BIGINT(20) UNSIGNED NOT NULL,
552
579
server_id BIGINT(20) UNSIGNED NOT NULL,
0 commit comments