From 49cd6611634f1b39ebfffffbf0fe16ea298c483a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AC=A2=E4=B9=90=E9=A9=AC?= <38058090+SkywalkerSpace@users.noreply.github.com> Date: Mon, 2 Dec 2024 13:50:43 +0800 Subject: [PATCH] UserActivity remove ForeignKey (#7125) * UserActivity remove ForeignKey * UserActivity clean_db_records --- scripts/upgrade/sql/11.0.0/mysql/seafevents.sql | 3 +-- scripts/upgrade/sql/12.0.0/mysql/seafevents.sql | 1 - seahub/base/management/commands/clean_db_records.py | 2 ++ 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/upgrade/sql/11.0.0/mysql/seafevents.sql b/scripts/upgrade/sql/11.0.0/mysql/seafevents.sql index 083de11bd5..8fbba7281e 100644 --- a/scripts/upgrade/sql/11.0.0/mysql/seafevents.sql +++ b/scripts/upgrade/sql/11.0.0/mysql/seafevents.sql @@ -49,8 +49,7 @@ CREATE TABLE IF NOT EXISTS `UserActivity` ( PRIMARY KEY (`id`), KEY `activity_id` (`activity_id`), KEY `ix_UserActivity_timestamp` (`timestamp`), - KEY `idx_username_timestamp` (`username`,`timestamp`), - CONSTRAINT `useractivity_ibfk_1` FOREIGN KEY (`activity_id`) REFERENCES `Activity` (`id`) ON DELETE CASCADE + KEY `idx_username_timestamp` (`username`,`timestamp`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `FileHistory` ( diff --git a/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql b/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql index 6bbd1e11a6..795962fa12 100644 --- a/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql +++ b/scripts/upgrade/sql/12.0.0/mysql/seafevents.sql @@ -2,7 +2,6 @@ ALTER TABLE UserActivity DROP FOREIGN KEY `UserActivity_ibfk_1`; ALTER TABLE Activity CHANGE id id BIGINT(20) AUTO_INCREMENT; ALTER TABLE UserActivity CHANGE id id BIGINT(20) AUTO_INCREMENT; ALTER TABLE UserActivity CHANGE activity_id activity_id BIGINT(20); -ALTER TABLE UserActivity ADD CONSTRAINT `UserActivity_ibfk_1` FOREIGN KEY (`activity_id`) REFERENCES `Activity` (`id`) ON DELETE CASCADE; ALTER TABLE FileHistory CHANGE id id BIGINT(20) AUTO_INCREMENT; ALTER TABLE FileAudit CHANGE eid eid BIGINT(20) AUTO_INCREMENT; diff --git a/seahub/base/management/commands/clean_db_records.py b/seahub/base/management/commands/clean_db_records.py index eb61fabea4..79f4daee55 100644 --- a/seahub/base/management/commands/clean_db_records.py +++ b/seahub/base/management/commands/clean_db_records.py @@ -19,6 +19,7 @@ class Command(BaseCommand): clean_sql5 = "DELETE FROM FileHistory WHERE to_days(now()) - to_days(timestamp) > 90" clean_sql6 = "DELETE FROM PermAudit WHERE to_days(now()) - to_days(timestamp) > 90" clean_sql7 = "DELETE FROM FileTrash WHERE to_days(now()) - to_days(delete_time) > 90" + clean_sql8 = "DELETE FROM UserActivity WHERE to_days(now()) - to_days(timestamp) > 90" def handle(self, *args, **options): logger.debug('Start clean database records.') @@ -37,6 +38,7 @@ class Command(BaseCommand): cursor.execute(self.clean_sql5) cursor.execute(self.clean_sql6) cursor.execute(self.clean_sql7) + cursor.execute(self.clean_sql8) except Exception as e: logger.error('Failed to clean database records, error: %s.' % e) self.stderr.write('[%s] Failed to clean database records, error: %s.' % (datetime.now(), e))