koha-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Koha-cvs] koha/updater updatedatabase


From: Henri-Damien LAURENT
Subject: [Koha-cvs] koha/updater updatedatabase
Date: Thu, 06 Apr 2006 12:37:05 +0000

CVSROOT:        /cvsroot/koha
Module name:    koha
Branch:         
Changes by:     Henri-Damien LAURENT <address@hidden>   06/04/06 12:37:05

Modified files:
        updater        : updatedatabase 

Log message:
        Bugfixing : aqbookfund needed a field.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/koha/koha/updater/updatedatabase.diff?tr1=1.131&tr2=1.132&r1=text&r2=text

Patches:
Index: koha/updater/updatedatabase
diff -u koha/updater/updatedatabase:1.131 koha/updater/updatedatabase:1.132
--- koha/updater/updatedatabase:1.131   Fri Mar  3 17:02:22 2006
+++ koha/updater/updatedatabase Thu Apr  6 12:37:05 2006
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 
-# $Id: updatedatabase,v 1.131 2006/03/03 17:02:22 tipaul Exp $
+# $Id: updatedatabase,v 1.132 2006/04/06 12:37:05 hdl Exp $
 
 # Database Updater
 # This script checks for required updates to the database.
@@ -21,8 +21,8 @@
 use C4::Context;
 
 use MARC::Record;
-use MARC::File::XML;
-
+use MARC::File::XML ( BinaryEncoding => 'utf8' );
+ 
 # FIXME - The user might be installing a new database, so can't rely
 # on /etc/koha.conf anyway.
 
@@ -140,6 +140,7 @@
 my %requirefields = (
        subscription => { 'letter' => 'char(20) NULL', 'distributedto' => 'text 
NULL'},
        itemtypes => { 'imageurl' => 'char(200) NULL'},
+       aqbookfund => { 'branchcode' => 'varchar(4) NULL'},
 #    tablename        => { 'field' => 'fieldtype' },
 );
 
@@ -1057,7 +1058,7 @@
        # changing marc field type
        $dbh->do('ALTER TABLE `biblioitems` CHANGE `marc` `marc` BLOB NULL 
DEFAULT NULL ');
        # adding marc xml, just for convenience
-       $dbh->do('ALTER TABLE `biblioitems` ADD `marcxml` TEXT NOT NULL');
+       $dbh->do('ALTER TABLE `biblioitems` ADD `marcxml` TEXT CHARACTER SET 
utf8 COLLATE utf8_general_ci NOT NULL ');
        # moving data from marc_subfield_value to biblio
        $sth = $dbh->prepare('select bibid,biblionumber from marc_biblio');
        $sth->execute;
@@ -1065,6 +1066,7 @@
        my $totaldone=0;
        while (my ($bibid,$biblionumber) = $sth->fetchrow) {
                my $record = MARCgetbiblio($dbh,$bibid);
+               print $record->as_formatted if ($biblionumber==3902);
                
$sth_update->execute($record->as_usmarc(),$record->as_xml(),$biblionumber);
                $totaldone++;
                print "\r$totaldone / $totaltodo" unless ($totaldone % 100);
@@ -1072,22 +1074,6 @@
        print "\rdone\n";
 }
 
-# MOVE all tables TO UTF-8 and innoDB
-$sth = $dbh->prepare("show table status");
-$sth->execute;
-while ( my $table = $sth->fetchrow_hashref ) {
-       if ($table->{Engine} ne 'InnoDB') {
-#              $dbh->do("ALTER TABLE $table->{Name} TYPE = innodb");
-               print "moving $table->{Name} to InnoDB\n";
-       }
-       unless ($table->{Collation} =~ /^utf8/) {
-               #$dbh->do("ALTER TABLE $table->{Name} DEFAULT CHARACTER SET 
utf8 COLLATE utf8_general_ci");
-#              $dbh->do("ALTER TABLE $table->{Name} CONVERT TO CHARACTER SET 
utf8");
-               # FIXME : maybe a ALTER TABLE tbl_name CONVERT TO CHARACTER SET 
utf8 would be better, def char set seems to work fine. If any problem 
encountered, let's try with convert !
-               print "moving $table->{Name} to utf8\n";
-       } else {
-       }
-}
 
 # at last, remove useless fields
 foreach $table ( keys %uselessfields ) {
@@ -1113,6 +1099,23 @@
 }    # foreach
 
 
+# MOVE all tables TO UTF-8 and innoDB
+$sth = $dbh->prepare("show table status");
+$sth->execute;
+while ( my $table = $sth->fetchrow_hashref ) {
+#      if ($table->{Engine} ne 'InnoDB') {
+#              $dbh->do("ALTER TABLE $table->{Name} TYPE = innodb");
+#              print "moving $table->{Name} to InnoDB\n";
+#      }
+       unless ($table->{Collation} =~ /^utf8/) {
+               $dbh->do("ALTER TABLE $table->{Name} CONVERT TO CHARACTER SET 
utf8");
+               $dbh->do("ALTER TABLE $table->{Name} DEFAULT CHARACTER SET utf8 
COLLATE utf8_general_ci");
+               # FIXME : maybe a ALTER TABLE tbl_name CONVERT TO CHARACTER SET 
utf8 would be better, def char set seems to work fine. If any problem 
encountered, let's try with convert !
+               print "moving $table->{Name} to utf8\n";
+       } else {
+       }
+}
+
 $sth->finish;
 
 #
@@ -1122,6 +1125,7 @@
 # are still here, but uses other tables
 # (the ones that are filled by updatedatabase !)
 #
+
 sub MARCgetbiblio {
 
     # Returns MARC::Record of the biblio passed in parameter.
@@ -1281,6 +1285,9 @@
 exit;
 
 # $Log: updatedatabase,v $
+# Revision 1.132  2006/04/06 12:37:05  hdl
+# Bugfixing : aqbookfund needed a field.
+#
 # Revision 1.131  2006/03/03 17:02:22  tipaul
 # commit for holidays and news management.
 # (some forgotten files)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]