From d93bfdd2faf4fdec99ea727f27de104e4d397c41 Mon Sep 17 00:00:00 2001 From: dullbananas Date: Tue, 11 Mar 2025 08:37:40 -0700 Subject: [PATCH] Update user count from local_user table instead of person table, and only count users with accepted application (#5495) * Update user count from local_user instead of person, and only count users with accepted application * fix * Update up.sql * Update down.sql --- crates/db_schema/replaceable_schema/triggers.sql | 4 ++-- .../2025-03-11-015056_local_user_trigger/down.sql | 9 +++++++++ .../2025-03-11-015056_local_user_trigger/up.sql | 11 +++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 migrations/2025-03-11-015056_local_user_trigger/down.sql create mode 100644 migrations/2025-03-11-015056_local_user_trigger/up.sql diff --git a/crates/db_schema/replaceable_schema/triggers.sql b/crates/db_schema/replaceable_schema/triggers.sql index 63fc1bd7a..a8fba2cbe 100644 --- a/crates/db_schema/replaceable_schema/triggers.sql +++ b/crates/db_schema/replaceable_schema/triggers.sql @@ -280,7 +280,7 @@ END; $$); -CALL r.create_triggers ('person', $$ +CALL r.create_triggers ('local_user', $$ BEGIN UPDATE local_site AS a @@ -290,7 +290,7 @@ BEGIN SELECT coalesce(sum(count_diff), 0) AS users FROM select_old_and_new_rows AS old_and_new_rows - WHERE (person).local) AS diff + WHERE (local_user).accepted_application) AS diff WHERE diff.users != 0; diff --git a/migrations/2025-03-11-015056_local_user_trigger/down.sql b/migrations/2025-03-11-015056_local_user_trigger/down.sql new file mode 100644 index 000000000..518256b6d --- /dev/null +++ b/migrations/2025-03-11-015056_local_user_trigger/down.sql @@ -0,0 +1,9 @@ +UPDATE + local_site +SET + users = ( + SELECT + count(*) + FROM + local_user); + diff --git a/migrations/2025-03-11-015056_local_user_trigger/up.sql b/migrations/2025-03-11-015056_local_user_trigger/up.sql new file mode 100644 index 000000000..4116076f1 --- /dev/null +++ b/migrations/2025-03-11-015056_local_user_trigger/up.sql @@ -0,0 +1,11 @@ +UPDATE + local_site +SET + users = ( + SELECT + count(*) + FROM + local_user + WHERE + accepted_application); +