You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lemmy/migrations/2022-11-20-032430_sticky_local/down.sql

47 lines
1.3 KiB
PL/PgSQL

DROP TRIGGER IF EXISTS post_aggregates_featured_local ON post;
DROP TRIGGER IF EXISTS post_aggregates_featured_community ON post;
drop function post_aggregates_featured_community;
drop function post_aggregates_featured_local;
alter table post ADD stickied boolean NOT NULL DEFAULT false;
Update post
set stickied = featured_community;
alter table post DROP COLUMN featured_community;
alter table post DROP COLUMN featured_local;
alter table post_aggregates ADD stickied boolean NOT NULL DEFAULT false;
Update post_aggregates
set stickied = featured_community;
alter table post_aggregates DROP COLUMN featured_community;
alter table post_aggregates DROP COLUMN featured_local;
alter table mod_feature_post
rename column featured TO stickied;
alter table mod_feature_post
DROP COLUMN is_featured_community;
alter table mod_feature_post
alter column stickied DROP NOT NULL;
alter table mod_feature_post
Rename To mod_sticky_post;
create function post_aggregates_stickied()
returns trigger language plpgsql
as $$
begin
update post_aggregates pa
set stickied = NEW.stickied
where pa.post_id = NEW.id;
return null;
end $$;
create trigger post_aggregates_stickied
after update on post
for each row
when (OLD.stickied is distinct from NEW.stickied)
execute procedure post_aggregates_stickied();