]> Untitled Git - lemmy.git/blob - migrations/2022-11-20-032430_sticky_local/up.sql
Dont use sha hash for password reset token (fixes #3491) (#3795)
[lemmy.git] / migrations / 2022-11-20-032430_sticky_local / up.sql
1 DROP TRIGGER IF EXISTS post_aggregates_stickied ON post;
2
3 DROP FUNCTION post_aggregates_stickied;
4
5 ALTER TABLE post
6     ADD featured_community boolean NOT NULL DEFAULT FALSE;
7
8 ALTER TABLE post
9     ADD featured_local boolean NOT NULL DEFAULT FALSE;
10
11 UPDATE
12     post
13 SET
14     featured_community = stickied;
15
16 ALTER TABLE post
17     DROP COLUMN stickied;
18
19 ALTER TABLE post_aggregates
20     ADD featured_community boolean NOT NULL DEFAULT FALSE;
21
22 ALTER TABLE post_aggregates
23     ADD featured_local boolean NOT NULL DEFAULT FALSE;
24
25 UPDATE
26     post_aggregates
27 SET
28     featured_community = stickied;
29
30 ALTER TABLE post_aggregates
31     DROP COLUMN stickied;
32
33 ALTER TABLE mod_sticky_post RENAME COLUMN stickied TO featured;
34
35 ALTER TABLE mod_sticky_post
36     ALTER COLUMN featured SET NOT NULL;
37
38 ALTER TABLE mod_sticky_post
39     ADD is_featured_community boolean NOT NULL DEFAULT TRUE;
40
41 ALTER TABLE mod_sticky_post RENAME TO mod_feature_post;
42
43 CREATE FUNCTION post_aggregates_featured_community ()
44     RETURNS TRIGGER
45     LANGUAGE plpgsql
46     AS $$
47 BEGIN
48     UPDATE
49         post_aggregates pa
50     SET
51         featured_community = NEW.featured_community
52     WHERE
53         pa.post_id = NEW.id;
54     RETURN NULL;
55 END
56 $$;
57
58 CREATE FUNCTION post_aggregates_featured_local ()
59     RETURNS TRIGGER
60     LANGUAGE plpgsql
61     AS $$
62 BEGIN
63     UPDATE
64         post_aggregates pa
65     SET
66         featured_local = NEW.featured_local
67     WHERE
68         pa.post_id = NEW.id;
69     RETURN NULL;
70 END
71 $$;
72
73 CREATE TRIGGER post_aggregates_featured_community
74     AFTER UPDATE ON public.post
75     FOR EACH ROW
76     WHEN (old.featured_community IS DISTINCT FROM new.featured_community)
77     EXECUTE FUNCTION public.post_aggregates_featured_community ();
78
79 CREATE TRIGGER post_aggregates_featured_local
80     AFTER UPDATE ON public.post
81     FOR EACH ROW
82     WHEN (old.featured_local IS DISTINCT FROM new.featured_local)
83     EXECUTE FUNCTION public.post_aggregates_featured_local ();
84