chiark / gitweb /
Parse old master info files too
[ypp-sc-tools.db-test.git] / yarrg / db-idempotent-populate
index b7743ed9cb1ff3f78ef9b6be379d4635ec467e1e..9d7bab06a426193a15ed073473d6fb85a0bee203 100755 (executable)
@@ -38,10 +38,12 @@ my ($oceanname) = @ARGV;
 
 #---------- setup ----------
 
-parse_masters_ocean($oceanname);
+parse_info_serverside();
+parse_info_serverside_ocean($oceanname);
 our $ocean= $oceans{$oceanname};
 
 db_setocean($oceanname);
+db_writer();
 db_connect();
 
 #---------- schema ----------
@@ -101,12 +103,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;
 }