Files
dc-project/src/main/resources/sql/fixtures/05-constitution.sql

44 lines
1.3 KiB
SQL

do
$$
declare
article_count int = (select count(*) from article);
begin
delete from article_in_title;
delete from title;
delete from constitution;
insert into constitution (id, version_id, created_by_id, title, anonymous)
select
uuid_in(md5('constitution'||row_number() over ())::cstring),
uuid_in(md5('constitution_v'||row_number() over ())::cstring),
z.id,
'title' || row_number() over (),
row_number() over () % 3 = 0
from citizen z;
insert into title (id, created_by_id, name, rank, constitution_id)
select
uuid_in(md5('constitution_title'||row_number() over ())::cstring),
c.created_by_id,
'name' || row_number() over (),
row_number() over (),
c.id
from constitution c,
lateral generate_series(1, 5) g;
insert into article_in_title (id, created_by_id, rank, title_id, article_id, constitution_id)
select
uuid_in(md5('article_in_title'||row_number() over ())::cstring),
ti.created_by_id,
row_number() over (),
ti.id,
a.id,
ti.constitution_id
from (select *, (row_number() over () % (article_count+7)) rn from title, lateral generate_series(1, 3) g) ti
join (select *, row_number() over () rn from article) a using (rn);
raise notice 'constitution fixtures done';
end;
$$;