]> Untitled Git - lemmy.git/blob - migrations/2022-09-08-102358_site-and-community-languages/up.sql
Speedup CI (#3852)
[lemmy.git] / migrations / 2022-09-08-102358_site-and-community-languages / up.sql
1 CREATE TABLE site_language (
2     id serial PRIMARY KEY,
3     site_id int REFERENCES site ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
4     language_id int REFERENCES
5     LANGUAGE ON
6     UPDATE CASCADE ON DELETE CASCADE NOT NULL,
7     UNIQUE (site_id, language_id)
8 );
9
10 CREATE TABLE community_language (
11     id serial PRIMARY KEY,
12     community_id int REFERENCES community ON UPDATE CASCADE ON DELETE CASCADE NOT NULL,
13     language_id int REFERENCES
14     LANGUAGE ON
15     UPDATE CASCADE ON DELETE CASCADE NOT NULL,
16     UNIQUE (community_id, language_id)
17 );
18
19 -- update existing users, sites and communities to have all languages enabled
20 DO $$
21 DECLARE
22     xid integer;
23 BEGIN
24     FOR xid IN
25     SELECT
26         id
27     FROM
28         local_user LOOP
29             INSERT INTO local_user_language (local_user_id, language_id) (
30                 SELECT
31                     xid,
32                     language.id AS lid
33                 FROM
34                     LANGUAGE);
35         END LOOP;
36     FOR xid IN
37     SELECT
38         id
39     FROM
40         site LOOP
41             INSERT INTO site_language (site_id, language_id) (
42                 SELECT
43                     xid,
44                     language.id AS lid
45                 FROM
46                     LANGUAGE);
47         END LOOP;
48     FOR xid IN
49     SELECT
50         id
51     FROM
52         community LOOP
53             INSERT INTO community_language (community_id, language_id) (
54                 SELECT
55                     xid,
56                     language.id AS lid
57                 FROM
58                     LANGUAGE);
59         END LOOP;
60 END;
61 $$;
62