From: Thomas Markwalder Date: Thu, 1 Oct 2015 19:38:09 +0000 (-0400) Subject: [3967] Added MySQL schema upgrade from 3.0 to 4.0 support X-Git-Tag: trac3874_base~25^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bcf547a6ca8a2e7f265a848fc428ab3ff8e72dd9;p=thirdparty%2Fkea.git [3967] Added MySQL schema upgrade from 3.0 to 4.0 support src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in New script file for upgrading from Schema 3.0 to 4.0 configure.ac Added an entry for new MySQL uppgrade script, upgrade_3.0_to_4.0.sh.in src/bin/admin/scripts/mysql/Makefile.am Added entries for upgrade_3.0_to_4.0.sh. Reformatted list style to make adding entries a bit more convenient. src/bin/admin/tests/mysql_tests.sh.in mysql_upgrade_test() - extended the test to verify the upgrade step from 3.0 to 4.0. --- diff --git a/configure.ac b/configure.ac index 9dbd0eedc0..9b2efe4b5d 100644 --- a/configure.ac +++ b/configure.ac @@ -1412,6 +1412,7 @@ AC_CONFIG_FILES([compatcheck/Makefile src/bin/admin/scripts/mysql/Makefile src/bin/admin/scripts/mysql/upgrade_1.0_to_2.0.sh src/bin/admin/scripts/mysql/upgrade_2.0_to_3.0.sh + src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh src/bin/admin/scripts/pgsql/Makefile src/hooks/Makefile src/hooks/dhcp/Makefile diff --git a/src/bin/admin/scripts/mysql/Makefile.am b/src/bin/admin/scripts/mysql/Makefile.am index 419474510f..74cd0493c8 100644 --- a/src/bin/admin/scripts/mysql/Makefile.am +++ b/src/bin/admin/scripts/mysql/Makefile.am @@ -1,6 +1,12 @@ SUBDIRS = . sqlscriptsdir = ${datarootdir}/${PACKAGE_NAME}/scripts/mysql -sqlscripts_DATA = dhcpdb_create.mysql upgrade_1.0_to_2.0.sh upgrade_2.0_to_3.0.sh +sqlscripts_DATA = dhcpdb_create.mysql +sqlscripts_DATA += upgrade_1.0_to_2.0.sh +sqlscripts_DATA += upgrade_2.0_to_3.0.sh +sqlscripts_DATA += upgrade_3.0_to_4.0.sh -EXTRA_DIST = dhcpdb_create.mysql upgrade_1.0_to_2.0.sh upgrade_2.0_to_3.0.sh +EXTRA_DIST = dhcpdb_create.mysql +EXTRA_DIST += upgrade_1.0_to_2.0.sh +EXTRA_DIST += upgrade_2.0_to_3.0.sh +EXTRA_DIST += upgrade_3.0_to_4.0.sh diff --git a/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in b/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in new file mode 100755 index 0000000000..6aa40674aa --- /dev/null +++ b/src/bin/admin/scripts/mysql/upgrade_3.0_to_4.0.sh.in @@ -0,0 +1,122 @@ +#!/bin/sh + +# Include utilities. Use installed version if available and +# use build version if it isn't. +if [ -e @datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh ]; then + . @datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh +else + . @abs_top_builddir@/src/bin/admin/admin-utils.sh +fi + +VERSION=`mysql_version "$@"` + +if [ "$VERSION" != "3.0" ]; then + printf "This script upgrades 3.0 to 4.0. Reported version is $VERSION. Skipping upgrade.\n" + exit 0 +fi + +mysql "$@" < 4.0) + mysql -u$db_user -p$db_password $db_name >/dev/null 2>&1 < 4.0) + mysql -u$db_user -p$db_password $db_name >/dev/null 2>&1 < 4.0) + mysql -u$db_user -p$db_password $db_name >/dev/null 2>&1 < 4.0) + mysql -u$db_user -p$db_password $db_name >/dev/null 2>&1 <