]> Untitled Git - lemmy.git/blob - migrations/2022-09-08-102358_site-and-community-languages/up.sql
Only create ltree postgres extension in migration if doesn't already exist (#3092)
[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 language on update cascade on delete cascade not null,
5   unique (site_id, language_id)
6 );
7
8 create table community_language (
9   id serial primary key,
10   community_id int references community on update cascade on delete cascade not null,
11   language_id int references language on update cascade on delete cascade not null,
12   unique (community_id, language_id)
13 );
14
15 -- update existing users, sites and communities to have all languages enabled
16 do $$
17     declare
18         xid integer;
19 begin
20     for xid in select id from local_user
21     loop
22         insert into local_user_language (local_user_id, language_id)
23         (select xid, language.id as lid from language);
24     end loop;
25
26     for xid in select id from site
27     loop
28         insert into site_language (site_id, language_id)
29         (select xid, language.id as lid from language);
30     end loop;
31
32     for xid in select id from community
33     loop
34         insert into community_language (community_id, language_id)
35         (select xid, language.id as lid from language);
36     end loop;
37 end;
38 $$;