55 lines
2.2 KiB
SQL
55 lines
2.2 KiB
SQL
do
|
|
$$
|
|
declare
|
|
article_count int = (select count(*) from article);
|
|
begin
|
|
delete from vote_for_article;
|
|
delete from vote_for_constitution;
|
|
delete from vote_for_comment_on_article;
|
|
delete from vote_for_comment_on_constitution;
|
|
raise notice '%', article_count;
|
|
insert into vote_for_article (id, citizen_id, target_id, note, anonymous)
|
|
select
|
|
uuid_in(md5('vote_for_article'||row_number() over ())::cstring),
|
|
z.id,
|
|
a.id,
|
|
(row_number() over () % 3) -1,
|
|
(row_number() over () % 3 = 1)
|
|
from (select *, row_number() over ()+g % (article_count+7) rn, g from citizen, lateral generate_series(1, 5) g) z
|
|
join (select *, row_number() over () rn from article) a using (rn);
|
|
|
|
insert into vote_for_constitution (id, citizen_id, target_id, note, anonymous)
|
|
select
|
|
uuid_in(md5('vote_for_constitution'||row_number() over ())::cstring),
|
|
z.id,
|
|
a.id,
|
|
(row_number() over () % 3) -1,
|
|
(row_number() over () % 3 = 1)
|
|
from (select *, row_number() over () % (article_count+7) rn, g from citizen, lateral generate_series(1, 5) g) z
|
|
join (select *, row_number() over () rn from constitution) a using (rn);
|
|
|
|
insert into vote_for_comment_on_article (id, citizen_id, target_id, note, anonymous)
|
|
select
|
|
uuid_in(md5('vote_for_comment_on_article'||row_number() over ())::cstring),
|
|
z.id,
|
|
a.id,
|
|
(row_number() over () % 3) -1,
|
|
(row_number() over () % 3 = 1)
|
|
from (select *, row_number() over () % (article_count+7) rn, g from citizen, lateral generate_series(1, 3) g) z
|
|
join (select *, row_number() over () rn from comment_on_article) a using (rn);
|
|
|
|
insert into vote_for_comment_on_constitution (id, citizen_id, target_id, note, anonymous)
|
|
select
|
|
uuid_in(md5('vote_for_comment_on_constitution'||row_number() over ())::cstring),
|
|
z.id,
|
|
a.id,
|
|
(row_number() over () % 3) -1,
|
|
(row_number() over () % 3 = 1)
|
|
from (select *, row_number() over () % (article_count+7) rn, g from citizen, lateral generate_series(1, 2) g) z
|
|
join (select *, row_number() over () rn from comment_on_constitution) a using (rn);
|
|
|
|
raise notice 'vote fixtures done';
|
|
end;
|
|
$$;
|
|
|