]> Untitled Git - lemmy.git/blob - migrations/2022-12-05-110642_registration_mode/up.sql
Speedup CI (#3852)
[lemmy.git] / migrations / 2022-12-05-110642_registration_mode / up.sql
1 -- create enum for registration modes
2 CREATE TYPE registration_mode_enum AS enum (
3     'closed',
4     'require_application',
5     'open'
6 );
7
8 -- use this enum for registration mode setting
9 ALTER TABLE local_site
10     ADD COLUMN registration_mode registration_mode_enum NOT NULL DEFAULT 'require_application';
11
12 -- generate registration mode value from previous settings
13 WITH subquery AS (
14     SELECT
15         open_registration,
16         require_application,
17         CASE WHEN open_registration = FALSE THEN
18             'closed'::registration_mode_enum
19         WHEN open_registration = TRUE
20             AND require_application = TRUE THEN
21             'require_application'
22         ELSE
23             'open'
24         END
25     FROM
26         local_site)
27 UPDATE
28     local_site
29 SET
30     registration_mode = subquery.case
31 FROM
32     subquery;
33
34 -- drop old registration settings
35 ALTER TABLE local_site
36     DROP COLUMN open_registration;
37
38 ALTER TABLE local_site
39     DROP COLUMN require_application;
40