reset auto_increment
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 26 Jun 2011 18:12:53 +0000 (20:12 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 26 Jun 2011 18:12:53 +0000 (20:12 +0200)
ferlib2koha.pl

index fdff596..8013ab4 100755 (executable)
@@ -5,6 +5,8 @@ use DBI;
 use Data::Dump qw/dump/;
 use Algorithm::CheckDigits;
 
+# sudo apt-get install libdbd-sqlite3-perl libdbd-csv-perl
+
 $|++;
 
 my $import = {
@@ -114,10 +116,24 @@ sub borrowers {
        }
 }
 
+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
@@ -241,12 +257,16 @@ 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
@@ -259,15 +279,19 @@ set datelastseen = returndate
 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) = @_;