summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2021-08-10 10:50:28 +0200
committerYorhel <git@yorhel.nl>2021-08-10 10:50:37 +0200
commit64a4e92ad48813afba045e0b39b3e2b363a42b83 (patch)
tree5190cd31492b3851cf1b2d44de560903a3c96366
parente20a25f8070c255d8daea49151378d0aca3523ff (diff)
Fix daily database dumps
Which I broke in the previous two commits.
-rwxr-xr-xutil/dbdump.pl5
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";
}