[Koha-devel] CVS: koha/updater updatedatabase,1.1,1.2

Steve Tonnesen tonnesen at users.sourceforge.net
Mon Nov 19 12:30:05 CET 2001


Update of /cvsroot/koha/koha/updater
In directory usw-pr-cvs1:/tmp/cvs-serv6853

Modified Files:
	updatedatabase 
Log Message:
Added some more tables to the database updater.  Modified barcode to be
20 characters long instead of 9.


Index: updatedatabase
===================================================================
RCS file: /cvsroot/koha/koha/updater/updatedatabase,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** updatedatabase	2001/11/19 18:26:50	1.1
--- updatedatabase	2001/11/19 20:29:46	1.2
***************
*** 19,30 ****
  while (my ($table) = $sth->fetchrow) {
      $tables{$table}=1;
-     print "Table: $table\n";
  }
  
  
  
  # Add tables required by Z-3950 scripts
  
! unless ($tables{'z3950queue') {
      my $sti=$dbh->prepare("create table z3950queue (id int auto_increment primary key, term text, type char(10), startdate int, enddate int, done smallint, results longblob, numercords int, servers text, identifier char(30))");
      $sti->execute;
--- 19,42 ----
  while (my ($table) = $sth->fetchrow) {
      $tables{$table}=1;
  }
  
  
+ # Add tables for virtual bookshelf management
  
+ unless ($tables{'shelfcontents'}) {
+     print "Adding shelfcontents table...\n";
+     my $sti=$dbh->prepare("create table shelfcontents (shelfnumber int not null, itemnumber int not null, flags int)");
+     $sti->execute;
+ }
+ unless ($tables{'bookshelf'}) {
+     print "Adding bookshelf table...\n";
+     my $sti=$dbh->prepare("create table bookshelf (shelfnumber int auto_increment primary key, shelfname char(255))");
+     $sti->execute;
+ }
+ 
  # Add tables required by Z-3950 scripts
  
! unless ($tables{'z3950queue'}) {
!     print "Adding z3950queue table...\n";
      my $sti=$dbh->prepare("create table z3950queue (id int auto_increment primary key, term text, type char(10), startdate int, enddate int, done smallint, results longblob, numercords int, servers text, identifier char(30))");
      $sti->execute;
***************
*** 32,39 ****
--- 44,53 ----
  
  unless ($tables{'z3950results'}) {
+     print "Adding z3950results table...\n";
      my $sti=$dbh->prepare("create table z3950results (id int auto_increment primary key, queryid int, server char(255), startdate int, enddate int, results longblob, numrecords int, numdownloaded int, highestseen int, active smallint)");
      $sti->execute;
  }
  unless ($tables{'z3950servers'}) {
+     print "Adding z3950servers table...\n";
      my $sti=$dbh->prepare("create table z3950servers (host char(255), port int, db char(255), userid char(255), password char(255), name text, id int, checked smallint, rank int)");
      $sti->execute;
***************
*** 53,56 ****
--- 67,71 ----
  unless ($types{'lccn'}) {
      # Add LCCN field to biblioitems db
+     print "Adding lccn field to biblioitems table...\n";
      my $sti=$dbh->prepare("alter table biblioitems add column lccn char(25)");
      $sti->execute;
***************
*** 58,63 ****
--- 73,98 ----
  unless ($types{'marc'}) {
      # Add MARC field to biblioitems db (not used anymore)
+     print "Adding marc field to biblioitems table...\n";
      my $sti=$dbh->prepare("alter table biblioitems add column marc text");
      $sti->execute;
+ }
+ 
+ # Get list of columns from biblioitems table
+ my %itemtypes;
+ 
+ my $sth=$dbh->prepare("show columns from items");
+ $sth->execute;
+ while (my ($column, $type, $null, $key, $default, $extra) = $sth->fetchrow) {
+     $itemtypes{$column}=$type;
+ }
+ 
+ unless ($itemtypes{'barcode'} eq 'varchar(20)') {
+     $itemtypes{'barcode'}=~/varchar\((\d+)\)/;
+     my $oldlength=$1;
+     if ($oldlength<20) {
+ 	print "Setting maximum barcode length to 20 (was $oldlength).\n";
+ 	my $sti=$dbh->prepare("alter table items change barcode barcode varchar(20) not null");
+ 	$sti->execute;
+     }
  }
  





More information about the Koha-devel mailing list