From d345bc9889ad1e98c995b7a26d4c93898429571d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Fri, 15 Mar 2024 13:22:48 +0100 Subject: [PATCH] Add foreign-keys-removal.sql for database migration --- conf/foreign-keys-removal.sql | 12 ++++++++++++ scripts/upgrade | 10 +++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 conf/foreign-keys-removal.sql diff --git a/conf/foreign-keys-removal.sql b/conf/foreign-keys-removal.sql new file mode 100644 index 0000000..0ebad2c --- /dev/null +++ b/conf/foreign-keys-removal.sql @@ -0,0 +1,12 @@ +# Drop old foreign keys + +ALTER TABLE `oauth2_access_tokens` DROP FOREIGN KEY IF EXISTS FK_D247A21BA76ED395; +ALTER TABLE `oauth2_access_tokens` DROP FOREIGN KEY IF EXISTS FK_D247A21B19EB6921; +ALTER TABLE `oauth2_auth_codes` DROP FOREIGN KEY IF EXISTS FK_A018A10DA76ED395; +ALTER TABLE `oauth2_clients` DROP FOREIGN KEY IF EXISTS FK_F9D02AE6A76ED395; +ALTER TABLE `oauth2_refresh_tokens` DROP FOREIGN KEY IF EXISTS FK_D394478CA76ED395; +ALTER TABLE `config` DROP FOREIGN KEY IF EXISTS FK_D48A2F7CA76ED395; +ALTER TABLE `entry` DROP FOREIGN KEY IF EXISTS FK_2B219D70A76ED395; +ALTER TABLE `oauth2_auth_codes` DROP FOREIGN KEY IF EXISTS FK_A018A10D19EB6921; +ALTER TABLE `oauth2_refresh_tokens` DROP FOREIGN KEY IF EXISTS FK_D394478C19EB6921; +ALTER TABLE `tagging_rule` DROP FOREIGN KEY IF EXISTS FK_1AF95E7824DB0683; diff --git a/scripts/upgrade b/scripts/upgrade index 5b6cab2..cf0597c 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,7 +10,15 @@ source /usr/share/yunohost/helpers #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -# ynh_script_progression --message="Ensuring downward compatibility..." +ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 + +if ynh_compare_current_package_version --comparison lt --version "2.4~ynh1"; then + # Migrate old (erroneous) database scheme (see: https://github.com/YunoHost-Apps/wallabag2_ynh/pull/125#issuecomment-1041426972) + ynh_script_progression --message="Migrating old (pre-2018) database scheme..." --weight=11 + + ynh_exec_warn_less ynh_mysql_execute_file_as_root --database="$db_name" --file="../conf/foreign-keys-removal.sql" + ynh_script_progression --message="Database migration done. Resuming normal upgrade process" --weight=11 +fi #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE