Fix SQL in migrating data. Bug https://bugs.launchpad.net/evergreen/+bug/720068 repor...
[working/Evergreen.git] / 2.0 / admin / migratingdata_2.0.xml
index f1121f0..8cd94c3 100644 (file)
@@ -327,7 +327,7 @@ BEGIN;
 \r
 <emphasis class="bold">TRUNCATE TABLE staging_items;</emphasis>\r
 \r
 \r
 <emphasis class="bold">TRUNCATE TABLE staging_items;</emphasis>\r
 \r
-<emphasis class="bold">INSERT INTO staging_items (</emphasis>egid, hseq, l_call_num, l_barcode, l_location, \r
+<emphasis class="bold">INSERT INTO staging_items (</emphasis>egid, hseq, l_callnum, l_barcode, l_location, \r
 l_owning_lib, l_circ_modifier <emphasis>FROM stdin;</emphasis> \r
 40      0       HD3616.K853 U54 1997    30731100751928  STACKS  FENNELL BOOK\r
 41      1       HV6548.C3 S984 1998     30731100826613  STACKS  FENNELL BOOK\r
 l_owning_lib, l_circ_modifier <emphasis>FROM stdin;</emphasis> \r
 40      0       HD3616.K853 U54 1997    30731100751928  STACKS  FENNELL BOOK\r
 41      1       HV6548.C3 S984 1998     30731100826613  STACKS  FENNELL BOOK\r
@@ -351,14 +351,14 @@ l_owning_lib, l_circ_modifier <emphasis>FROM stdin;</emphasis>
                                <para>Create a staging_items staging table to hold the holdings data:</para>\r
 <programlisting language="sql">\r
 CREATE TABLE staging_items (\r
                                <para>Create a staging_items staging table to hold the holdings data:</para>\r
 <programlisting language="sql">\r
 CREATE TABLE staging_items (\r
-        callnum text, -- call number label\r
+        l_callnum text, -- call number label\r
        hseq int, -- call number label\r
         egid  int,  -- biblio.record_entry_id\r
         createdate      date,\r
        hseq int, -- call number label\r
         egid  int,  -- biblio.record_entry_id\r
         createdate      date,\r
-        location        text,\r
-        barcode         text,\r
-        item_type       text,\r
-        owning_lib      text  -- actor.org_unit.shortname\r
+        l_location        text,\r
+        l_barcode         text,\r
+        l_circ_modifier   text,\r
+        l_owning_lib      text  -- actor.org_unit.shortname\r
 );\r
 </programlisting>\r
                        </step> \r
 );\r
 </programlisting>\r
                        </step> \r
@@ -384,20 +384,20 @@ FROM  staging_items l
                                <para>Generate circulation modifiers from your staging table.</para>\r
 <programlisting language="sql">\r
 INSERT INTO config.circ_modifier (code, name, description, sip2_media_type, magnetic_media)\r
                                <para>Generate circulation modifiers from your staging table.</para>\r
 <programlisting language="sql">\r
 INSERT INTO config.circ_modifier (code, name, description, sip2_media_type, magnetic_media)\r
-        SELECT  DISTINCT item_type AS code,\r
-          item_type AS name,\r
-          LOWER(item_type) AS description,\r
+        SELECT  DISTINCT l_circ_modifier AS code,\r
+          l_circ_modifier AS name,\r
+          LOWER(l_circ_modifier) AS description,\r
           '001' AS sip2_media_type,\r
           FALSE AS magnetic_media\r
           FROM  staging_items\r
           '001' AS sip2_media_type,\r
           FALSE AS magnetic_media\r
           FROM  staging_items\r
-          WHERE item_type NOT IN (SELECT code FROM config.circ_modifier);\r
+          WHERE l_circ_modifier NOT IN (SELECT code FROM config.circ_modifier);\r
 </programlisting>\r
                        </step>\r
                        <step>\r
                                <para>Generate call numbers from your staging table:</para>\r
 <programlisting language="sql">\r
 INSERT INTO asset.call_number (creator,editor,record,label,owning_lib)\r
 </programlisting>\r
                        </step>\r
                        <step>\r
                                <para>Generate call numbers from your staging table:</para>\r
 <programlisting language="sql">\r
 INSERT INTO asset.call_number (creator,editor,record,label,owning_lib)\r
-SELECT  DISTINCT 1, 1, b.id, l.callnum, ou.id\r
+SELECT  DISTINCT 1, 1, egid, l.callnum, ou.id\r
 FROM  staging.staging_items l\r
 JOIN actor.org_unit ou ON (l.owning_lib = ou.shortname);\r
 </programlisting>\r
 FROM  staging.staging_items l\r
 JOIN actor.org_unit ou ON (l.owning_lib = ou.shortname);\r
 </programlisting>\r
@@ -412,27 +412,30 @@ STATUS, location, loan_duration, fine_level, circ_modifier, deposit, ref, call_n
 SELECT  DISTINCT ou.id AS circ_lib,\r
        1 AS creator,\r
        1 AS editor,\r
 SELECT  DISTINCT ou.id AS circ_lib,\r
        1 AS creator,\r
        1 AS editor,\r
-       l.createdate AS create_date,\r
-       l.barcode AS barcode,\r
+       l.l_createdate AS create_date,\r
+       l.l_barcode AS barcode,\r
        0 AS STATUS,\r
        cl.id AS location,\r
        2 AS loan_duration,\r
        2 AS fine_level,\r
        0 AS STATUS,\r
        cl.id AS location,\r
        2 AS loan_duration,\r
        2 AS fine_level,\r
-       l.item_type AS circ_modifier,\r
+       l.l_circ_modifier AS circ_modifier,\r
        FALSE AS deposit,\r
        CASE\r
        FALSE AS deposit,\r
        CASE\r
-       WHEN l.item_type = 'REFERENCE' THEN TRUE\r
+       WHEN l.l_circ_modifier = 'REFERENCE' THEN TRUE\r
        ELSE FALSE\r
        END AS ref,                                             \r
        cn.id AS call_number\r
        ELSE FALSE\r
        END AS ref,                                             \r
        cn.id AS call_number\r
-       FROM  staging.staging_items l\r
-       JOIN actor.org_unit ou\r
-               ON (l.owning_lib = ou.shortname)\r
-       JOIN asset.copy_location cl\r
-               ON (ou.id = cl.owning_lib AND l.location = cl.name)\r
-       JOIN asset.call_number cn\r
-               ON (ou.id = cn.owning_lib      \r
-               AND l.callnum = cn.label);\r
+       FROM  staging_items l\r
+               JOIN actor.org_unit ou\r
+                       ON (l.owning_lib = ou.shortname)\r
+               JOIN asset.copy_location cl\r
+                       ON (ou.id = cl.owning_lib AND l.l_location = cl.name)\r
+               JOIN metabib.real_full_rec m \r
+                       ON (m.value = l.egid)\r
+               JOIN asset.call_number cn\r
+                       ON (ou.id = cn.owning_lib  \r
+                       AND m.record = cn.record       \r
+                       AND l.l_callnum = cn.label)      \r
 </programlisting>\r
                                <para>You should now have copies in your Evergreen database and should be able to search and find the bibliographic records with attached copies.</para> \r
                        </step>\r
 </programlisting>\r
                                <para>You should now have copies in your Evergreen database and should be able to search and find the bibliographic records with attached copies.</para> \r
                        </step>\r