From: Thomas Markwalder Date: Tue, 21 May 2024 17:53:43 +0000 (-0400) Subject: [#3396] Moved column alters to new schema 22 X-Git-Tag: Kea-2.6.0~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fef41fcf0e2e44e04689517fcc6c67cefcdc5bde;p=thirdparty%2Fkea.git [#3396] Moved column alters to new schema 22 configure.ac Added mysql/upgrade_019_to_020.sh src/bin/admin/tests/mysql_tests.sh.in Updated, adjusted for version check src/lib/mysql/mysql_constants.h Bumped schema version to 22 src/share/database/scripts/mysql/.gitignore upgrade_019_to_020.sh src/share/database/scripts/mysql/dhcpdb_create.mysql Moved expire column statements into version 22 update section src/share/database/scripts/mysql/upgrade_020_to_021.sh.in Removed expire column updates src/share/database/scripts/mysql/upgrade_020_to_021.sh.in New file, modifies expire columns --- diff --git a/configure.ac b/configure.ac index 1f0c2d7040..2a78b127aa 100644 --- a/configure.ac +++ b/configure.ac @@ -1762,6 +1762,8 @@ AC_CONFIG_FILES([src/share/database/scripts/mysql/upgrade_019_to_020.sh], [chmod +x src/share/database/scripts/mysql/upgrade_019_to_020.sh]) AC_CONFIG_FILES([src/share/database/scripts/mysql/upgrade_020_to_021.sh], [chmod +x src/share/database/scripts/mysql/upgrade_020_to_021.sh]) +AC_CONFIG_FILES([src/share/database/scripts/mysql/upgrade_021_to_022.sh], + [chmod +x src/share/database/scripts/mysql/upgrade_021_to_022.sh]) AC_CONFIG_FILES([src/share/database/scripts/mysql/wipe_data.sh], [chmod +x src/share/database/scripts/mysql/wipe_data.sh]) AC_CONFIG_FILES([src/share/database/scripts/pgsql/Makefile]) diff --git a/src/bin/admin/tests/mysql_tests.sh.in b/src/bin/admin/tests/mysql_tests.sh.in index 93f6dbb4de..15b282e43f 100644 --- a/src/bin/admin/tests/mysql_tests.sh.in +++ b/src/bin/admin/tests/mysql_tests.sh.in @@ -819,6 +819,12 @@ mysql_upgrade_19_to_21_test() { assert_str_eq "21.0" "${version}" "Expected kea-admin to return %s, returned value was %s" } +mysql_upgrade_21_to_22_test() { + # For now this function only verifies version number. + version=$("${kea_admin}" db-version mysql -u "${db_user}" -p "${db_password}" -n "${db_name}" -d "${db_scripts_dir}") + assert_str_eq "22.0" "${version}" "Expected kea-admin to return %s, returned value was %s" +} + mysql_upgrade_test() { test_start "mysql.upgrade" @@ -840,7 +846,7 @@ mysql_upgrade_test() { # Verify that the upgraded schema reports the latest version. version=$("${kea_admin}" db-version mysql -u "${db_user}" -p "${db_password}" -n "${db_name}" -d "${db_scripts_dir}") - assert_str_eq "21.0" "${version}" "Expected kea-admin to return %s, returned value was %s" + assert_str_eq "22.0" "${version}" "Expected kea-admin to return %s, returned value was %s" # Let's check that the new tables are indeed there. @@ -1504,7 +1510,10 @@ SET @disable_audit = 0" mysql_upgrade_18_to_19_test # Check upgrade from 19.0 to 21.0. - mysql_upgrade_19_to_21_test + # mysql_upgrade_19_to_21_test - only checks version + + # Check upgrade from 21.0 to 22.0. + mysql_upgrade_21_to_22_test # Let's wipe the whole database mysql_wipe diff --git a/src/lib/mysql/mysql_constants.h b/src/lib/mysql/mysql_constants.h index 9b37ac45f8..a0d79f97fc 100644 --- a/src/lib/mysql/mysql_constants.h +++ b/src/lib/mysql/mysql_constants.h @@ -52,7 +52,7 @@ const int MLM_MYSQL_FETCH_FAILURE = 0; /// @name Current database schema version values. //@{ -const uint32_t MYSQL_SCHEMA_VERSION_MAJOR = 21; +const uint32_t MYSQL_SCHEMA_VERSION_MAJOR = 22; const uint32_t MYSQL_SCHEMA_VERSION_MINOR = 0; //@} diff --git a/src/share/database/scripts/mysql/.gitignore b/src/share/database/scripts/mysql/.gitignore index 53d22bedcb..6d84ac028e 100644 --- a/src/share/database/scripts/mysql/.gitignore +++ b/src/share/database/scripts/mysql/.gitignore @@ -29,4 +29,5 @@ /upgrade_018_to_019.sh /upgrade_019_to_020.sh /upgrade_020_to_021.sh +/upgrade_021_to_022.sh /wipe_data.sh diff --git a/src/share/database/scripts/mysql/dhcpdb_create.mysql b/src/share/database/scripts/mysql/dhcpdb_create.mysql index 593f2a2822..cf51c58aae 100644 --- a/src/share/database/scripts/mysql/dhcpdb_create.mysql +++ b/src/share/database/scripts/mysql/dhcpdb_create.mysql @@ -5857,15 +5857,19 @@ UPDATE schema_version -- Add subnet id and address index for lease6. CREATE INDEX lease6_by_subnet_id_address ON lease6 (subnet_id, address ASC); +-- This line concludes the schema upgrade to version 21.0. + +-- This line starts the schema upgrade to version 22.0. + -- Turn off Mariadb default/on-update for expire column ALTER TABLE lease4 MODIFY expire timestamp NULL; ALTER TABLE lease6 MODIFY expire timestamp NULL; -- Update the schema version number. UPDATE schema_version - SET version = '21', minor = '0'; + SET version = '22', minor = '0'; --- This line concludes the schema upgrade to version 21.0. +-- This line concludes the schema upgrade to version 22.0. # Notes: # diff --git a/src/share/database/scripts/mysql/upgrade_020_to_021.sh.in b/src/share/database/scripts/mysql/upgrade_020_to_021.sh.in index 980e452ca5..125a50ab1b 100644 --- a/src/share/database/scripts/mysql/upgrade_020_to_021.sh.in +++ b/src/share/database/scripts/mysql/upgrade_020_to_021.sh.in @@ -59,10 +59,6 @@ mysql "$@" <