@@ -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 (
806805CREATE 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-- -----------------------------------------------------
839838CREATE 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-- -----------------------------------------------------
875875CREATE 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-- -----------------------------------------------------
892892CREATE 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-- -----------------------------------------------------
913917CREATE 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-- -----------------------------------------------------
930934CREATE 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-- -----------------------------------------------------
982986CREATE 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-- -----------------------------------------------------
10101015CREATE 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 (
10421046CREATE 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-- -----------------------------------------------------
10741078CREATE 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-- -----------------------------------------------------
11101115CREATE 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-- -----------------------------------------------------
11271132CREATE 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-- -----------------------------------------------------
11491158CREATE 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-- -----------------------------------------------------
11671176CREATE 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-- -----------------------------------------------------
11971206CREATE 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-- -----------------------------------------------------
12581268CREATE TABLE IF NOT EXISTS dhcp6_options_server (
12591269 option_id BIGINT (20 ) UNSIGNED NOT NULL ,
0 commit comments