Skip to content

Commit 5770699

Browse files
committed
[#89,!22] Changes in the dhcpdb_create.mysql as a result of review.
1 parent ae27304 commit 5770699

File tree

1 file changed

+35
-25
lines changed

1 file changed

+35
-25
lines changed

src/share/database/scripts/mysql/dhcpdb_create.mysql

+35-25
Original file line numberDiff line numberDiff line change
@@ -796,7 +796,6 @@ CREATE TABLE IF NOT EXISTS dhcp4_server (
796796
modification_ts TIMESTAMP NOT NULL,
797797
PRIMARY KEY (id),
798798
UNIQUE KEY dhcp4_server_tag_UNIQUE (tag),
799-
UNIQUE KEY id_UNIQUE (id),
800799
KEY key_dhcp4_server_modification_ts (modification_ts)
801800
) ENGINE=InnoDB;
802801

@@ -806,11 +805,10 @@ CREATE TABLE IF NOT EXISTS dhcp4_server (
806805
CREATE TABLE IF NOT EXISTS dhcp4_audit (
807806
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
808807
object_type VARCHAR(256) NOT NULL,
809-
object_id VARCHAR(128) NOT NULL,
808+
object_id BIGINT(20) UNSIGNED NOT NULL,
810809
modification_type TINYINT(1) NOT NULL,
811810
modification_ts TIMESTAMP NOT NULL,
812811
PRIMARY KEY (id),
813-
UNIQUE KEY id_UNIQUE (id),
814812
KEY key_dhcp4_audit_by_modification_ts (modification_ts),
815813
KEY fk_dhcp4_audit_modification_type (modification_type),
816814
CONSTRAINT fk_dhcp4_audit_modification_type FOREIGN KEY (modification_type)
@@ -828,13 +826,14 @@ CREATE TABLE IF NOT EXISTS dhcp4_global_parameter (
828826
value LONGTEXT NOT NULL,
829827
modification_ts timestamp NOT NULL,
830828
PRIMARY KEY (id),
831-
UNIQUE KEY id_UNIQUE (id),
832829
KEY key_dhcp4_global_parameter_modification_ts (modification_ts),
833830
KEY key_dhcp4_global_parameter_name (name)
834831
) ENGINE=InnoDB;
835832

836833
-- -----------------------------------------------------
837834
-- Table `dhcp4_global_parameter_server`
835+
-- M-to-M cross-reference between global parameters and
836+
-- servers
838837
-- -----------------------------------------------------
839838
CREATE TABLE IF NOT EXISTS dhcp4_global_parameter_server (
840839
parameter_id BIGINT(20) UNSIGNED NOT NULL,
@@ -864,13 +863,14 @@ CREATE TABLE IF NOT EXISTS dhcp4_option_def (
864863
record_types VARCHAR(512) DEFAULT NULL,
865864
user_context LONGTEXT,
866865
PRIMARY KEY (id),
867-
UNIQUE KEY id_UNIQUE (id),
868866
KEY key_dhcp4_option_def_modification_ts (modification_ts),
869867
KEY key_dhcp4_option_def_code_space (code, space)
870868
) ENGINE=InnoDB;
871869

872870
-- -----------------------------------------------------
873871
-- Table `dhcp4_option_def_server`
872+
-- M-to-M cross-reference between option definitions and
873+
-- servers
874874
-- -----------------------------------------------------
875875
CREATE TABLE IF NOT EXISTS dhcp4_option_def_server (
876876
option_def_id BIGINT(20) UNSIGNED NOT NULL,
@@ -890,6 +890,7 @@ CREATE TABLE IF NOT EXISTS dhcp4_option_def_server (
890890
-- Table `dhcp4_shared_network`
891891
-- -----------------------------------------------------
892892
CREATE TABLE IF NOT EXISTS dhcp4_shared_network (
893+
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
893894
name VARCHAR(128) NOT NULL,
894895
client_class VARCHAR(128) DEFAULT NULL,
895896
interface VARCHAR(128) DEFAULT NULL,
@@ -903,31 +904,35 @@ CREATE TABLE IF NOT EXISTS dhcp4_shared_network (
903904
server_hostname VARCHAR(512) DEFAULT NULL,
904905
user_context LONGTEXT,
905906
valid_lifetime INT(10) DEFAULT NULL,
906-
PRIMARY KEY (name),
907+
PRIMARY KEY (id),
908+
UNIQUE KEY name_UNIQUE (name),
907909
KEY key_dhcp4_shared_network_modification_ts (modification_ts)
908910
) ENGINE=InnoDB;
909911

910912
-- -----------------------------------------------------
911913
-- Table `dhcp4_shared_network_server`
914+
-- M-to-M cross-reference between shared networks and
915+
-- servers
912916
-- -----------------------------------------------------
913917
CREATE TABLE IF NOT EXISTS dhcp4_shared_network_server (
914-
shared_network_name VARCHAR(128) NOT NULL,
918+
shared_network_id BIGINT(20) UNSIGNED NOT NULL,
915919
server_id BIGINT(20) UNSIGNED NOT NULL,
916920
modification_ts TIMESTAMP NOT NULL,
917-
PRIMARY KEY (shared_network_name, server_id),
921+
PRIMARY KEY (shared_network_id, server_id),
918922
KEY key_dhcp4_shared_network_server_modification_ts (modification_ts),
919-
KEY fk_dhcp4_shared_network_server_server_id_idx (server_id),
923+
KEY fk_dhcp4_shared_network_server_server_id (server_id),
920924
CONSTRAINT fk_dhcp4_shared_network_server_server_id FOREIGN KEY (server_id)
921925
REFERENCES dhcp4_server (id)
922926
ON DELETE NO ACTION ON UPDATE NO ACTION,
923-
CONSTRAINT fk_dhcp4_shared_network_server_shared_network_name FOREIGN KEY (shared_network_name)
924-
REFERENCES dhcp4_shared_network (name) ON DELETE NO ACTION ON UPDATE NO ACTION
927+
CONSTRAINT fk_dhcp4_shared_network_server_shared_network_id FOREIGN KEY (shared_network_id)
928+
REFERENCES dhcp4_shared_network (id) ON DELETE NO ACTION ON UPDATE NO ACTION
925929
) ENGINE=InnoDB;
926930

927931
-- -----------------------------------------------------
928932
-- Table `dhcp4_subnet`
929933
-- -----------------------------------------------------
930934
CREATE TABLE IF NOT EXISTS dhcp4_subnet (
935+
subnet_id INT(10) UNSIGNED NOT NULL,
931936
subnet_prefix VARCHAR(32) NOT NULL,
932937
4o6_interface VARCHAR(128) DEFAULT NULL,
933938
4o6_interface_id VARCHAR(128) DEFAULT NULL,
@@ -945,11 +950,9 @@ CREATE TABLE IF NOT EXISTS dhcp4_subnet (
945950
reservation_mode TINYINT(3) NOT NULL DEFAULT '3',
946951
server_hostname VARCHAR(512) DEFAULT NULL,
947952
shared_network_name VARCHAR(128) DEFAULT NULL,
948-
subnet_id INT(10) UNSIGNED NOT NULL,
949953
user_context LONGTEXT,
950954
valid_lifetime INT(10) DEFAULT NULL,
951955
PRIMARY KEY (subnet_id),
952-
UNIQUE KEY subnet_id_UNIQUE (subnet_id),
953956
UNIQUE KEY subnet_prefix_UNIQUE (subnet_id),
954957
KEY subnet4_subnet_prefix (subnet_prefix),
955958
KEY fk_dhcp4_subnet_shared_network (shared_network_name),
@@ -978,6 +981,7 @@ CREATE TABLE IF NOT EXISTS dhcp4_pool (
978981

979982
-- -----------------------------------------------------
980983
-- Table `dhcp4_subnet_server`
984+
-- M-to-M cross-reference between subnets and servers
981985
-- -----------------------------------------------------
982986
CREATE TABLE IF NOT EXISTS dhcp4_subnet_server (
983987
subnet_id INT(10) UNSIGNED NOT NULL,
@@ -1006,6 +1010,7 @@ ALTER TABLE dhcp4_options
10061010

10071011
-- -----------------------------------------------------
10081012
-- Table `dhcp4_options_server`
1013+
-- M-to-M cross-reference between options and servers
10091014
-- -----------------------------------------------------
10101015
CREATE TABLE IF NOT EXISTS dhcp4_options_server (
10111016
option_id BIGINT(20) UNSIGNED NOT NULL,
@@ -1032,7 +1037,6 @@ CREATE TABLE IF NOT EXISTS dhcp6_server (
10321037
modification_ts TIMESTAMP NOT NULL,
10331038
PRIMARY KEY (id),
10341039
UNIQUE KEY dhcp6_server_tag_UNIQUE (tag),
1035-
UNIQUE KEY id_UNIQUE (id),
10361040
KEY key_dhcp6_server_modification_ts (modification_ts)
10371041
) ENGINE=InnoDB;
10381042

@@ -1042,11 +1046,10 @@ CREATE TABLE IF NOT EXISTS dhcp6_server (
10421046
CREATE TABLE IF NOT EXISTS dhcp6_audit (
10431047
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
10441048
object_type VARCHAR(256) NOT NULL,
1045-
object_id VARCHAR(128) NOT NULL,
1049+
object_id BIGINT(20) UNSIGNED NOT NULL,
10461050
modification_type TINYINT(1) NOT NULL,
10471051
modification_ts TIMESTAMP NOT NULL,
10481052
PRIMARY KEY (id),
1049-
UNIQUE KEY id_UNIQUE (id),
10501053
KEY key_dhcp6_audit_modification_ts (modification_ts),
10511054
KEY fk_dhcp6_audit_modification_type (modification_type),
10521055
CONSTRAINT fk_dhcp6_audit_modification_type FOREIGN KEY (modification_type)
@@ -1063,13 +1066,14 @@ CREATE TABLE IF NOT EXISTS dhcp6_global_parameter (
10631066
value LONGTEXT NOT NULL,
10641067
modification_ts timestamp NOT NULL,
10651068
PRIMARY KEY (id),
1066-
UNIQUE KEY id_UNIQUE (id),
10671069
KEY key_dhcp6_global_parameter_modification_ts (modification_ts),
10681070
KEY key_dhcp6_global_parameter_name (name)
10691071
) ENGINE=InnoDB;
10701072

10711073
-- -----------------------------------------------------
10721074
-- Table `dhcp6_global_parameter_server`
1075+
-- M-to-M cross-reference between global parameters and
1076+
-- servers
10731077
-- -----------------------------------------------------
10741078
CREATE TABLE IF NOT EXISTS dhcp6_global_parameter_server (
10751079
parameter_id BIGINT(20) UNSIGNED NOT NULL,
@@ -1099,13 +1103,14 @@ CREATE TABLE IF NOT EXISTS dhcp6_option_def (
10991103
record_types VARCHAR(512) DEFAULT NULL,
11001104
user_context LONGTEXT,
11011105
PRIMARY KEY (id),
1102-
UNIQUE KEY id_UNIQUE (id),
11031106
KEY key_dhcp6_option_def_modification_ts (modification_ts),
11041107
KEY key_dhcp6_option_def_code_space (code, space)
11051108
) ENGINE=InnoDB;
11061109

11071110
-- -----------------------------------------------------
11081111
-- Table `dhcp6_option_def_server`
1112+
-- M-to-M cross-reference between option definitions and
1113+
-- servers
11091114
-- -----------------------------------------------------
11101115
CREATE TABLE IF NOT EXISTS dhcp6_option_def_server (
11111116
option_def_id BIGINT(20) UNSIGNED NOT NULL,
@@ -1125,6 +1130,7 @@ CREATE TABLE IF NOT EXISTS dhcp6_option_def_server (
11251130
-- Table `dhcp6_shared_network`
11261131
-- -----------------------------------------------------
11271132
CREATE TABLE dhcp6_shared_network (
1133+
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
11281134
name VARCHAR(128) NOT NULL,
11291135
client_class VARCHAR(128) DEFAULT NULL,
11301136
interface VARCHAR(128) DEFAULT NULL,
@@ -1139,32 +1145,36 @@ CREATE TABLE dhcp6_shared_network (
11391145
server_hostname VARCHAR(512) DEFAULT NULL,
11401146
user_context LONGTEXT,
11411147
valid_lifetime INT(10) DEFAULT NULL,
1142-
PRIMARY KEY (name),
1148+
PRIMARY KEY (id),
1149+
UNIQUE KEY name_UNIQUE (name),
11431150
KEY key_dhcp6_shared_network_modification_ts (modification_ts)
11441151
) ENGINE=InnoDB;
11451152

11461153
-- -----------------------------------------------------
11471154
-- Table `dhcp6_shared_network_server`
1155+
-- M-to-M cross-reference between shared networks and
1156+
-- servers
11481157
-- -----------------------------------------------------
11491158
CREATE TABLE IF NOT EXISTS dhcp6_shared_network_server (
1150-
shared_network_name VARCHAR(128) NOT NULL,
1159+
shared_network_id BIGINT(20) UNSIGNED NOT NULL,
11511160
server_id BIGINT(20) UNSIGNED NOT NULL,
11521161
modification_ts TIMESTAMP NOT NULL,
11531162
KEY key_dhcp6_shared_network_server_modification_ts (modification_ts),
11541163
KEY fk_dhcp6_shared_network_server_server_id_idx (server_id),
1155-
KEY fk_dhcp6_shared_network_server_shared_network_name (shared_network_name),
1164+
KEY fk_dhcp6_shared_network_server_shared_network_id (shared_network_id),
11561165
CONSTRAINT fk_dhcp6_shared_network_server_server_id FOREIGN KEY (server_id)
11571166
REFERENCES dhcp6_server (id)
11581167
ON DELETE NO ACTION ON UPDATE NO ACTION,
1159-
CONSTRAINT fk_dhcp6_shared_network_server_shared_network_name FOREIGN KEY (shared_network_name)
1160-
REFERENCES dhcp6_shared_network (name)
1168+
CONSTRAINT fk_dhcp6_shared_network_server_shared_network_id FOREIGN KEY (shared_network_id)
1169+
REFERENCES dhcp6_shared_network (id)
11611170
ON DELETE NO ACTION ON UPDATE NO ACTION
11621171
) ENGINE=InnoDB;
11631172

11641173
-- -----------------------------------------------------
11651174
-- Table `dhcp6_subnet`
11661175
-- -----------------------------------------------------
11671176
CREATE TABLE dhcp6_subnet (
1177+
subnet_id INT(10) UNSIGNED NOT NULL,
11681178
subnet_prefix VARCHAR(64) NOT NULL,
11691179
client_class VARCHAR(128) DEFAULT NULL,
11701180
interface VARCHAR(128) DEFAULT NULL,
@@ -1177,11 +1187,9 @@ CREATE TABLE dhcp6_subnet (
11771187
require_client_classes LONGTEXT,
11781188
reservation_mode TINYINT(3) NOT NULL DEFAULT '3',
11791189
shared_network_name VARCHAR(128) DEFAULT NULL,
1180-
subnet_id int(10) UNSIGNED NOT NULL,
11811190
user_context LONGTEXT,
11821191
valid_lifetime INT(10) DEFAULT NULL,
11831192
PRIMARY KEY (subnet_id),
1184-
UNIQUE KEY subnet_id_UNIQUE (subnet_id),
11851193
UNIQUE KEY subnet_prefix_UNIQUE (subnet_id),
11861194
KEY subnet6_subnet_prefix (subnet_prefix),
11871195
KEY fk_dhcp6_subnet_shared_network (shared_network_name),
@@ -1193,6 +1201,7 @@ CREATE TABLE dhcp6_subnet (
11931201

11941202
-- -----------------------------------------------------
11951203
-- Table `dhcp6_subnet_server`
1204+
-- M-to-M cross-reference between subnets and servers
11961205
-- -----------------------------------------------------
11971206
CREATE TABLE dhcp6_subnet_server (
11981207
subnet_id INT(10) UNSIGNED NOT NULL,
@@ -1254,6 +1263,7 @@ ALTER TABLE dhcp6_options
12541263

12551264
-- -----------------------------------------------------
12561265
-- Table `dhcp6_options_server`
1266+
-- M-to-M cross-reference between options and servers
12571267
-- -----------------------------------------------------
12581268
CREATE TABLE IF NOT EXISTS dhcp6_options_server (
12591269
option_id BIGINT(20) UNSIGNED NOT NULL,

0 commit comments

Comments
 (0)