use Data::Dump qw/dump/;
use Algorithm::CheckDigits;
+# sudo apt-get install libdbd-sqlite3-perl libdbd-csv-perl
+
$|++;
my $import = {
}
}
+sub sql {
+ my ($db,$sql) = @_;
+ foreach (split(/;/,$sql)) {
+ next if m/^\s*$/;
+ warn "# sql $_";
+ $db->do($_);
+ }
+}
+
if ( $import->{borrowers} ) {
-$k->do(qq{ delete from borrowers where borrowernumber > 57 });
-$k->do(qq{ delete from borrower_attributes where borrowernumber > 57 });
+sql $k => qq{
+delete from borrowers;
+alter table borrowers auto_increment = 1;
+delete from borrower_attributes;
+alter table borrower_attributes auto_increment = 1;
+};
+
borrowers qq{
select
from posud
};
-$k->do('delete from old_issues');
-$k->do('delete from issues');
+sql $k => qq{
+delete from old_issues;
+alter table old_issues auto_increment = 1;
+delete from issues;
+alter table issues auto_increment = 1;
+};
issues 'old_issues' => qq{$posud_sql where datum_vra != ''};
issues 'issues' => qq{$posud_sql where datum_vra == ''};
-$k->do($_) foreach split(/;/, qq{
+sql $k => qq{
update items
join issues on items.itemnumber=issues.itemnumber
set onloan = date_due, datelastborrowed = issuedate
where returndate > datelastseen or datelastseen is null
;
update old_issues set timestamp = returndate
-});
+};
}; # import->{issues}
if ( $import->{reserves} ) {
-$k->do(qq{ delete from reserves where borrowernumber > 100 });
-$k->do(qq{ delete from old_reserves where borrowernumber > 100 });
+sql $k => qq{
+delete from reserves;
+alter table reserves auto_increment = 1;
+delete from old_reserves;
+alter table old_reserves auto_increment = 1;
+};
sub reserves {
my ($table, $sql) = @_;