Bug 22155: Adapt uses of biblio_metadata.marcflavour to schema
[koha.git] / misc / migration_tools / build_oai_sets.pl
index 577c06e..40dfa1b 100755 (executable)
@@ -4,18 +4,18 @@
 #
 # This file is part of Koha.
 #
-# Koha is free software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
 #
-# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
-# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see <http://www.gnu.org/licenses>.
 
 =head1 DESCRIPTION
 
@@ -70,8 +70,10 @@ my $mappings = GetOAISetsMappings;
 # Get all biblionumbers and marcxml
 print "Retrieving biblios... " if $verbose;
 my $query = qq{
-    SELECT biblionumber, marcxml
-    FROM biblioitems
+    SELECT biblionumber, metadata
+    FROM biblio_metadata
+    WHERE format='marcxml'
+    AND  `schema` = ?
 };
 if($length) {
     $query .= "LIMIT $length";
@@ -80,7 +82,7 @@ if($length) {
     }
 }
 my $sth = $dbh->prepare($query);
-$sth->execute;
+$sth->execute( C4::Context->preference('marcflavour') );
 my $results = $sth->fetchall_arrayref({});
 print "done.\n" if $verbose;
 
@@ -106,7 +108,7 @@ my $i = 1;
 my $sets_biblios = {};
 foreach my $res (@$results) {
     my $biblionumber = $res->{'biblionumber'};
-    my $marcxml = $res->{'marcxml'};
+    my $marcxml = $res->{'metadata'};
     if($verbose and $i % 1000 == 0) {
         my $percent = ($i * 100) / $num_biblios;
         $percent = sprintf("%.2f", $percent);
@@ -125,7 +127,9 @@ foreach my $res (@$results) {
         next;
     }
     if($embed_items) {
-        C4::Biblio::EmbedItemsInMarcBiblio($record, $biblionumber);
+        C4::Biblio::EmbedItemsInMarcBiblio({
+            marc_record  => $record,
+            biblionumber => $biblionumber });
     }
 
     my @biblio_sets = CalcOAISetsBiblio($record, $mappings);