]> Untitled Git - lemmy.git/blob - migrations/2023-04-14-175955_add_listingtype_sorttype_enums/up.sql
Revert "Attempt to fix CI building wrong commits (#3830)"
[lemmy.git] / migrations / 2023-04-14-175955_add_listingtype_sorttype_enums / up.sql
1 -- A few DB fixes
2 ALTER TABLE community
3     ALTER COLUMN hidden SET NOT NULL;
4
5 ALTER TABLE community
6     ALTER COLUMN posting_restricted_to_mods SET NOT NULL;
7
8 ALTER TABLE activity
9     ALTER COLUMN sensitive SET NOT NULL;
10
11 ALTER TABLE mod_add
12     ALTER COLUMN removed SET NOT NULL;
13
14 ALTER TABLE mod_add_community
15     ALTER COLUMN removed SET NOT NULL;
16
17 ALTER TABLE mod_ban
18     ALTER COLUMN banned SET NOT NULL;
19
20 ALTER TABLE mod_ban_from_community
21     ALTER COLUMN banned SET NOT NULL;
22
23 ALTER TABLE mod_hide_community
24     ALTER COLUMN hidden SET NOT NULL;
25
26 ALTER TABLE mod_lock_post
27     ALTER COLUMN LOCKED SET NOT NULL;
28
29 ALTER TABLE mod_remove_comment
30     ALTER COLUMN removed SET NOT NULL;
31
32 ALTER TABLE mod_remove_community
33     ALTER COLUMN removed SET NOT NULL;
34
35 ALTER TABLE mod_remove_post
36     ALTER COLUMN removed SET NOT NULL;
37
38 ALTER TABLE mod_transfer_community
39     DROP COLUMN removed;
40
41 ALTER TABLE LANGUAGE
42     ALTER COLUMN code SET NOT NULL;
43
44 ALTER TABLE LANGUAGE
45     ALTER COLUMN name SET NOT NULL;
46
47 -- Fix the registration mode enums
48 ALTER TYPE registration_mode_enum RENAME VALUE 'closed' TO 'Closed';
49
50 ALTER TYPE registration_mode_enum RENAME VALUE 'require_application' TO 'RequireApplication';
51
52 ALTER TYPE registration_mode_enum RENAME VALUE 'open' TO 'Open';
53
54 -- Create the enums
55 CREATE TYPE sort_type_enum AS ENUM (
56     'Active',
57     'Hot',
58     'New',
59     'Old',
60     'TopDay',
61     'TopWeek',
62     'TopMonth',
63     'TopYear',
64     'TopAll',
65     'MostComments',
66     'NewComments'
67 );
68
69 CREATE TYPE listing_type_enum AS ENUM (
70     'All',
71     'Local',
72     'Subscribed'
73 );
74
75 -- Alter the local_user table
76 ALTER TABLE local_user
77     ALTER COLUMN default_sort_type DROP DEFAULT;
78
79 ALTER TABLE local_user
80     ALTER COLUMN default_sort_type TYPE sort_type_enum
81     USING
82         CASE default_sort_type
83         WHEN 0 THEN
84             'Active'
85         WHEN 1 THEN
86             'Hot'
87         WHEN 2 THEN
88             'New'
89         WHEN 3 THEN
90             'Old'
91         WHEN 4 THEN
92             'TopDay'
93         WHEN 5 THEN
94             'TopWeek'
95         WHEN 6 THEN
96             'TopMonth'
97         WHEN 7 THEN
98             'TopYear'
99         WHEN 8 THEN
100             'TopAll'
101         WHEN 9 THEN
102             'MostComments'
103         WHEN 10 THEN
104             'NewComments'
105         ELSE
106             'Active'
107         END::sort_type_enum;
108
109 ALTER TABLE local_user
110     ALTER COLUMN default_sort_type SET DEFAULT 'Active';
111
112 ALTER TABLE local_user
113     ALTER COLUMN default_listing_type DROP DEFAULT;
114
115 ALTER TABLE local_user
116     ALTER COLUMN default_listing_type TYPE listing_type_enum
117     USING
118         CASE default_listing_type
119         WHEN 0 THEN
120             'All'
121         WHEN 1 THEN
122             'Local'
123         WHEN 2 THEN
124             'Subscribed'
125         ELSE
126             'Local'
127         END::listing_type_enum;
128
129 ALTER TABLE local_user
130     ALTER COLUMN default_listing_type SET DEFAULT 'Local';
131
132 -- Alter the local site column
133 ALTER TABLE local_site
134     ALTER COLUMN default_post_listing_type DROP DEFAULT;
135
136 ALTER TABLE local_site
137     ALTER COLUMN default_post_listing_type TYPE listing_type_enum
138     USING default_post_listing_type::listing_type_enum;
139
140 ALTER TABLE local_site
141     ALTER COLUMN default_post_listing_type SET DEFAULT 'Local';
142