chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.web-live.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use POST for routetrade update to avoid overly long URLs due to many tickyboxes
[ypp-sc-tools.web-live.git]
/
yarrg
/
db-idempotent-populate
diff --git
a/yarrg/db-idempotent-populate
b/yarrg/db-idempotent-populate
index b7743ed9cb1ff3f78ef9b6be379d4635ec467e1e..9d7bab06a426193a15ed073473d6fb85a0bee203 100755
(executable)
--- a/
yarrg/db-idempotent-populate
+++ b/
yarrg/db-idempotent-populate
@@
-38,10
+38,12
@@
my ($oceanname) = @ARGV;
#---------- setup ----------
#---------- setup ----------
-parse_masters_ocean($oceanname);
+parse_info_serverside();
+parse_info_serverside_ocean($oceanname);
our $ocean= $oceans{$oceanname};
db_setocean($oceanname);
our $ocean= $oceans{$oceanname};
db_setocean($oceanname);
+db_writer();
db_connect();
#---------- schema ----------
db_connect();
#---------- schema ----------
@@
-101,12
+103,28
@@
$dbh->commit;
#---------- commodity list ----------
{
#---------- commodity list ----------
{
- my $sth= $dbh->prepare(<<'END')
- INSERT OR IGNORE INTO commods (commodname) VALUES (?);
+ my $insert= $dbh->prepare(<<'END')
+ INSERT OR IGNORE INTO commods
+ (unitmass,
+ unitvolume,
+ commodname)
+ VALUES (?,?,?);
+END
+ ;
+ my $update= $dbh->prepare(<<'END')
+ UPDATE commods
+ SET unitmass = ?,
+ unitvolume = ?
+ WHERE commodname = ?
END
;
foreach my $commod (sort keys %commods) {
END
;
foreach my $commod (sort keys %commods) {
- $sth->execute($commod);
+ my $c= $commods{$commod};
+ die "no mass for $commod" unless defined $c->{Mass};
+ die "no colume for $commod" unless defined $c->{Volume};
+ my @qa= ($c->{Mass}, $c->{Volume}, $commod);
+ $insert->execute(@qa);
+ $update->execute(@qa);
}
$dbh->commit;
}
}
$dbh->commit;
}