diff --git a/src/invidious/database/users.cr b/src/invidious/database/users.cr index 66a319f9..bf54a321 100644 --- a/src/invidious/database/users.cr +++ b/src/invidious/database/users.cr @@ -214,6 +214,13 @@ module Invidious::Database::Users PG_DB.exec(request, username, user.email) end + def update_user_materialized_view(user : User, username : String) + view_name = "public.subscriptions_#{sha256(user.email)}" + new_view_name = "subscriptions_#{sha256(username)}" + + PG_DB.exec("ALTER MATERIALIZED VIEW #{view_name} RENAME TO #{new_view_name}") + end + # ------------------- # Select # ------------------- diff --git a/src/invidious/routes/account.cr b/src/invidious/routes/account.cr index 3164c149..b68aefd1 100644 --- a/src/invidious/routes/account.cr +++ b/src/invidious/routes/account.cr @@ -143,6 +143,7 @@ module Invidious::Routes::Account Invidious::Database::Users.update_username(user, new_username.to_s) Invidious::Database::Users.update_user_session_id(user, new_username.to_s) Invidious::Database::Users.update_user_playlists_author(user, new_username.to_s) + Invidious::Database::Users.update_user_materialized_view(user, new_username.to_s) env.redirect referer end