mirror of
https://github.com/LemmyNet/lemmy
synced 2024-11-14 00:37:07 +00:00
63 lines
1.8 KiB
MySQL
63 lines
1.8 KiB
MySQL
|
|
||
|
DROP TRIGGER IF EXISTS post_aggregates_stickied ON post;
|
||
|
drop function
|
||
|
post_aggregates_stickied;
|
||
|
|
||
|
|
||
|
alter table post ADD featured_community boolean NOT NULL DEFAULT false;
|
||
|
alter table post ADD featured_local boolean NOT NULL DEFAULT false;
|
||
|
update post
|
||
|
set featured_community = stickied;
|
||
|
alter table post DROP COLUMN stickied;
|
||
|
|
||
|
alter table post_aggregates ADD featured_community boolean NOT NULL DEFAULT false;
|
||
|
alter table post_aggregates ADD featured_local boolean NOT NULL DEFAULT false;
|
||
|
update post_aggregates
|
||
|
set featured_community = stickied;
|
||
|
alter table post_aggregates DROP COLUMN stickied;
|
||
|
|
||
|
alter table mod_sticky_post
|
||
|
rename column stickied TO featured;
|
||
|
|
||
|
alter table mod_sticky_post
|
||
|
alter column featured SET NOT NULL;
|
||
|
|
||
|
alter table mod_sticky_post
|
||
|
ADD is_featured_community boolean NOT NULL DEFAULT true;
|
||
|
|
||
|
alter table mod_sticky_post
|
||
|
Rename To mod_feature_post;
|
||
|
|
||
|
create function post_aggregates_featured_community()
|
||
|
returns trigger language plpgsql
|
||
|
as $$
|
||
|
begin
|
||
|
update post_aggregates pa
|
||
|
set featured_community = NEW.featured_community
|
||
|
where pa.post_id = NEW.id;
|
||
|
return null;
|
||
|
end $$;
|
||
|
|
||
|
create function post_aggregates_featured_local()
|
||
|
returns trigger language plpgsql
|
||
|
as $$
|
||
|
begin
|
||
|
update post_aggregates pa
|
||
|
set featured_local = NEW.featured_local
|
||
|
where pa.post_id = NEW.id;
|
||
|
return null;
|
||
|
end $$;
|
||
|
|
||
|
CREATE TRIGGER post_aggregates_featured_community
|
||
|
AFTER UPDATE
|
||
|
ON public.post
|
||
|
FOR EACH ROW
|
||
|
WHEN (old.featured_community IS DISTINCT FROM new.featured_community)
|
||
|
EXECUTE FUNCTION public.post_aggregates_featured_community();
|
||
|
|
||
|
CREATE TRIGGER post_aggregates_featured_local
|
||
|
AFTER UPDATE
|
||
|
ON public.post
|
||
|
FOR EACH ROW
|
||
|
WHEN (old.featured_local IS DISTINCT FROM new.featured_local)
|
||
|
EXECUTE FUNCTION public.post_aggregates_featured_local();
|