diff options
author | Yorhel <git@yorhel.nl> | 2021-08-10 10:50:28 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2021-08-10 10:50:37 +0200 |
commit | 64a4e92ad48813afba045e0b39b3e2b363a42b83 (patch) | |
tree | 5190cd31492b3851cf1b2d44de560903a3c96366 | |
parent | e20a25f8070c255d8daea49151378d0aca3523ff (diff) |
Fix daily database dumps
Which I broke in the previous two commits.
-rwxr-xr-x | util/dbdump.pl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/util/dbdump.pl b/util/dbdump.pl index 734abaf2..f71b9598 100755 --- a/util/dbdump.pl +++ b/util/dbdump.pl @@ -107,7 +107,7 @@ my %tables = ( .' AND aid IN(SELECT sa.aid FROM staff_alias sa JOIN staff s ON s.id = sa.id WHERE NOT s.hidden)' .' AND cid IN(SELECT id FROM chars WHERE NOT hidden)' }, vn_staff => { where => 'id IN(SELECT id FROM vn WHERE NOT hidden) AND aid IN(SELECT sa.aid FROM staff_alias sa JOIN staff s ON s.id = sa.id WHERE NOT s.hidden)' }, - vn_length_votes => { where => 'vid IN(SELECT id FROM vn WHERE NOT hidden) AND rid IN(SELECT id FROM releases WHERE NOT hidden)' + vn_length_votes => { where => 'vid IN(SELECT id FROM vn WHERE NOT hidden)' , order => 'vid, uid' }, wikidata => { where => q{id IN(SELECT l_wikidata FROM producers WHERE NOT hidden UNION SELECT l_wikidata FROM staff WHERE NOT hidden @@ -201,10 +201,11 @@ sub export_import_script { for my $table (@tables) { my $schema = $schema->{$table->{name}}; + my @primary = grep { my $n=$_; !!grep $_->{name} eq $n && $_->{pub}, $schema->{cols}->@* } ($schema->{primary}||[])->@*; print $F "\n"; print $F "CREATE TABLE \"$table->{name}\" (\n"; print $F join ",\n", map " $_->{decl}" =~ s/" serial/" integer/ir =~ s/ +(?:check|constraint|default) +.*//ir, grep $_->{pub}, @{$schema->{cols}}; - print $F ",\n PRIMARY KEY(".join(', ', map "\"$_\"", @{$schema->{primary}}).")" if $schema->{primary}; + print $F ",\n PRIMARY KEY(".join(', ', map "\"$_\"", @primary).")" if @primary; print $F "\n);\n"; } |