$|++;
my $f = DBI->connect("dbi:SQLite:dbname=knjiznica.sqlite","","", { RaiseError => 1, AutoCommit => 0 }) || die $DBI::errstr;
-$f->{unicode} = 1;
-my $k = DBI->connect("dbi:SQLite:dbname=knjiznica.sqlite","","", { RaiseError => 1, AutoCommit => 0 }) || die $DBI::errstr;
+$f->{sqlite_unicode} = 1;
+my $k = DBI->connect("dbi:mysql:database=koha_fer","","", { RaiseError => 1, AutoCommit => 0, mysql_enable_utf8 => 1 }) || die $DBI::errstr;
our $lookup;
sub lookup {
warn dump($lookup);
}
return unless length $s > 1;
- return $lookup->{$key}->{$s} || die "no $s in $key ",dump($lookup->{$key});
+ if ( ! exists $lookup->{$key}->{$s} ) {
+ warn "ERROR: no $s in $key\n";
+ return $s;
+ } else {
+ $lookup->{$key}->{$s};
+ }
}
# select all posts which have been read or unread
dat_prava_do as dateexpiry
-- aktivan as ??,
from studk
-limit 100
};
my $sth = $f->prepare($sql);
$sth->execute;
+our $insert;
+sub insert {
+ my ( $table, $row ) = @_;
+ $insert->{$table} ||= $k->prepare(
+ "insert into $table ("
+ . join(',', keys %$row)
+ . ") values ("
+ . join(',', map { '?' } keys %$row )
+ . ")"
+ );
+ $insert->{$table}->execute( values %$row );
+ warn "# inserted ", dump $row;
+
+}
+
while (my $row = $sth->fetchrow_hashref ) {
+ warn dump $row;
+
# poor man's (sqlite) outer join
$row->{'country'} = lookup('drzava', 'ozn_drzava', 'naz_drzava', $row->{'country'} );
$row->{'city'} = lookup('mjesto', 'post_ozn', 'naz_mjesto', $row->{'city'} );
$row->{sex} =~ s/Ž/F/;
- warn dump $row;
+
+ $row->{city} ||= '?'; # not null
+
+ insert 'borrowers' => $row;
}
+$k->commit;