mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-31 14:05:33 +00:00
[#2094] Updated MySQL migration 12
The dhcp_client_class values are set to NULL when the options do not belong to a class.
This commit is contained in:
@@ -1727,6 +1727,18 @@ mysql_client_class_test() {
|
||||
ON c.id = o.class_id WHERE c.name = 'foo'";
|
||||
run_statement "#get order index of class foo" "$sql" 1
|
||||
|
||||
sql=\
|
||||
"SET @disable_audit = 1; \
|
||||
INSERT INTO ${table_prefix}_options(code, scope_id, dhcp_client_class, modification_ts) \
|
||||
VALUES (222, 0, '', now()); \
|
||||
SET @disable_audit = 0;"
|
||||
run_statement "add option with an empty dhcp_client class" "$sql"
|
||||
|
||||
# Let's make sure that we can upgrade to version 12.0. This version
|
||||
# introduces a foreign key between dhcpX_client_class and dhcpX_options
|
||||
# table. The migration should set the dhcp_client_class to NULL.
|
||||
mysql_upgrade_schema_to_version 12.0
|
||||
|
||||
# Let's wipe the whole database
|
||||
mysql_wipe
|
||||
|
||||
|
@@ -4046,6 +4046,17 @@ UPDATE schema_version
|
||||
|
||||
# This line concludes database upgrade to version 11.
|
||||
|
||||
# Ensure that dhcp_client_class is NULL when an option does not
|
||||
# belong to any client class. Later, we will add foreign keys for
|
||||
# the dhcp_client_class columns, and it requires that the columns
|
||||
# are NULL when there are no corresponding client classes.
|
||||
SET @disable_audit = 1;
|
||||
UPDATE dhcp4_options SET dhcp_client_class = NULL
|
||||
WHERE scope_id <> 2;
|
||||
UPDATE dhcp6_options SET dhcp_client_class = NULL
|
||||
WHERE scope_id <> 2;
|
||||
SET @disable_audit = 0;
|
||||
|
||||
# Add a foreign keys referencing a client classes. If an option is
|
||||
# associated with a client class, the option will be deleted
|
||||
# along with the deleted client class.
|
||||
|
@@ -53,6 +53,17 @@ fi
|
||||
|
||||
mysql "$@" <<EOF
|
||||
|
||||
-- Ensure that dhcp_client_class is NULL when an option does not
|
||||
-- belong to any client class. Later, we will add foreign keys for
|
||||
-- the dhcp_client_class columns, and it requires that the columns
|
||||
-- are NULL when there are no corresponding client classes.
|
||||
SET @disable_audit = 1;
|
||||
UPDATE dhcp4_options SET dhcp_client_class = NULL
|
||||
WHERE scope_id <> 2;
|
||||
UPDATE dhcp6_options SET dhcp_client_class = NULL
|
||||
WHERE scope_id <> 2;
|
||||
SET @disable_audit = 0;
|
||||
|
||||
-- Add a foreign keys referencing a client classes. If an option is
|
||||
-- associated with a client class, the option will be deleted
|
||||
-- along with the deleted client class.
|
||||
|
Reference in New Issue
Block a user