lemmy/migrations/2022-09-08-102358_site-and-.../up.sql

39 lines
1.2 KiB
SQL

create table site_language (
id serial primary key,
site_id int references site on update cascade on delete cascade not null,
language_id int references language on update cascade on delete cascade not null,
unique (site_id, language_id)
);
create table community_language (
id serial primary key,
community_id int references community on update cascade on delete cascade not null,
language_id int references language on update cascade on delete cascade not null,
unique (community_id, language_id)
);
-- update existing users, sites and communities to have all languages enabled
do $$
declare
xid integer;
begin
for xid in select id from local_user
loop
insert into local_user_language (local_user_id, language_id)
(select xid, language.id as lid from language);
end loop;
for xid in select id from site
loop
insert into site_language (site_id, language_id)
(select xid, language.id as lid from language);
end loop;
for xid in select id from community
loop
insert into community_language (community_id, language_id)
(select xid, language.id as lid from language);
end loop;
end;
$$;