X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-test.git;a=blobdiff_plain;f=yarrg%2Fdb-idempotent-populate;h=b44d45dd25cc7d63c435059c521bfc0b84a36800;hp=ea73f607aa6a1fd6f05c384697400406b26b6b83;hb=bd155443745759a5a9c95cd1cbce5a8f73894737;hpb=877b0ba6b2d72d7957e2a8015520b87371cba6c9 diff --git a/yarrg/db-idempotent-populate b/yarrg/db-idempotent-populate index ea73f60..b44d45d 100755 --- a/yarrg/db-idempotent-populate +++ b/yarrg/db-idempotent-populate @@ -1,5 +1,8 @@ #!/usr/bin/perl -w # +# Normally run from +# update-master-info +# # usage: ./db-idempotent-populate # creates or updates OCEAN-Oceanname.db # from master-master.txt @@ -43,6 +46,7 @@ parse_info_serverside_ocean($oceanname); our $ocean= $oceans{$oceanname}; db_setocean($oceanname); +db_writer(); db_connect(); #---------- schema ---------- @@ -102,12 +106,28 @@ $dbh->commit; #---------- 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) { - $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; }