DLXS Database Upgrade Utility
From DLXS Documentation
m (→Step 4. Run the upgrade_5_6 script) |
(→Overview) |
||
(9 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
[[DLXS Wiki|Main Page]] > [[Working with DLXS Components]] > [[Working with DLXS Utilities and Applications]] > DLXS Database Upgrade Utility | [[DLXS Wiki|Main Page]] > [[Working with DLXS Components]] > [[Working with DLXS Utilities and Applications]] > DLXS Database Upgrade Utility | ||
- | <p>These instructions assume you are upgrading from a version | + | <p>These instructions assume you are upgrading from a version N MySQL database to a version N+1 database.</p> |
==Overview== | ==Overview== | ||
- | <p>This document describes the upgrade process for the dlxs database. This document assumes you are upgrading from a version | + | <p>This document describes the upgrade process for the dlxs database. This document assumes you are upgrading from a version N MySQL database to a version N+1 database. See the table [[Installing_and_Upgrading_the_Database#Database_Versions|Database Versions]]. </p> |
- | + | ||
- | + | ||
<p>Each version of the database is meant to be run with a specific version of DLXS. For example, version 5 of the database works only with versions 12 and 12a of DLXS. If you need to have two or more versions of DLXS running, you will need to set up a database with the appropriate version for each DLXS installation. If this is of interest to you, contact DLXS Help for guidance in doing this.</p> | <p>Each version of the database is meant to be run with a specific version of DLXS. For example, version 5 of the database works only with versions 12 and 12a of DLXS. If you need to have two or more versions of DLXS running, you will need to set up a database with the appropriate version for each DLXS installation. If this is of interest to you, contact DLXS Help for guidance in doing this.</p> | ||
<p>Below is a series of steps to follow to upgrade your database. You should upgrade the database after installing the DLXS middleware since the upgrade script is part of the installation and depends on values you supply during installation.</p> | <p>Below is a series of steps to follow to upgrade your database. You should upgrade the database after installing the DLXS middleware since the upgrade script is part of the installation and depends on values you supply during installation.</p> | ||
- | ==Step 1. Dump a copy of your version | + | ==Step 1. Dump a copy of your version N MySQL database== |
- | <p>Use the <code>mysqldump</code> command line client to dump a copy of your current version | + | <p>Use the <code>mysqldump</code> command line client to dump a copy of your current version 6 MySQL DLXS database. For example:</p> |
- | <code>% mysqldump -u dlxsadm -p | + | <code>% mysqldump -u dlxsadm -p dlxs_vN > dlxs_vN_dump.sql</code> |
==Step 2. Create an empty MySQL database== | ==Step 2. Create an empty MySQL database== | ||
- | <p>Create an empty MySQL database specifying the name you want it to have for your DLXS | + | <p>Create an empty MySQL database specifying the name you want it to have for your new DLXS installation, e.g. <code>dlxs_vN+1</code>. Please refer to this section of the installation instructions for information on creating a MySQL database.</p> |
==Step 3. Populate the empty MySQL database with the dump== | ==Step 3. Populate the empty MySQL database with the dump== | ||
- | <p> Use the <code>mysql</code> command line client to load the dump of your version | + | <p> Use the <code>mysql</code> command line client to load the dump of your version N DLXS database into the empty database that will become a version N+1 DLXS database after you upgrade it.</p> |
- | <code>% mysql -u dlxsadm -p | + | <code>% mysql -u dlxsadm -p dlxs_vN+1 < dlxs_vN_dump.sql</code> |
- | ==Step 4. Run the | + | ==Step 4. Run the upgrade_N_N+1 script== |
- | <p>Bring the database into which you loaded the dump up to version | + | <p>Bring the database into which you loaded the dump up to version N+1 using the $DLXSROOT/bin/db/upgrade_N_N+1 script. There are no command line parameters to the script. It reads the server name, database name, username, and password out of $DLXSROOT/lib/LibGlobals.cfg as supplied by you at install time. </p> |
- | <code>% cd $DLXSROOT/bin/db; ./ | + | <code>% cd $DLXSROOT/bin/db; ./upgrade_N_N+1</code> |
<p><table border="1" width="50%"> | <p><table border="1" width="50%"> | ||
Line 40: | Line 39: | ||
- | Once the upgrade is completed you will have a version | + | Once the upgrade is completed you will have a version N+1 DLXS database compatible with you new installation of DLXS middleware. |
- | The following is a list of changes that the | + | The following is a list of changes that the upgrade_6_7 script makes in DLXS release 14: |
<table border="1"> | <table border="1"> | ||
<tr style="bold"> | <tr style="bold"> | ||
- | |||
<th>SQL Command</th> | <th>SQL Command</th> | ||
</tr> | </tr> | ||
- | + | <tr><td>UPDATE `Version` SET `version`='7.0'</td></tr> | |
- | + | <tr><td>ALTER TABLE Collection ADD `sponsor` text</td></tr> | |
- | + | <tr><td>UPDATE Collection set `sponsor`= '' WHERE class='bib'</td></tr> | |
- | + | <tr><td>UPDATE Collection set `sponsor`= '' WHERE class='text'</td></tr> | |
- | + | <tr><td>UPDATE Collection set `sponsor`= '' WHERE class='findaid'</td></tr> | |
- | + | <tr><td>UPDATE Collection set `sponsor`= '' WHERE class='image'</td></tr> | |
- | + | <tr><td>ALTER TABLE Collection ADD `oai` varchar(250)</td></tr> | |
- | + | <tr><td>UPDATE Collection set `oai`= '' WHERE class='bib'</td></tr> | |
- | + | <tr><td>UPDATE Collection set `oai`= '' WHERE class='text'</td></tr> | |
- | + | <tr><td>UPDATE Collection set `oai`= '' WHERE class='findaid'</td></tr> | |
- | + | <tr><td>UPDATE Collection set `oai`= '' WHERE class='image'</td></tr> | |
- | + | <tr><td>ALTER TABLE Collection MODIFY `host` varchar(250) DEFAULT 'localhost'</td></tr> | |
- | + | <tr><td>ALTER TABLE `BookBagDB` MODIFY `username` varchar(255) NOT NULL</td></tr> | |
- | + | <tr><td>ALTER TABLE ImageClass ADD `brwsadds` varchar(250)</td></tr> | |
- | + | <tr><td>UPDATE ImageClass set `brwsadds`= 'off' WHERE class='image'</td></tr> | |
- | + | <tr><td>ALTER TABLE ImageClass ADD `recordcount` varchar(250)</td></tr> | |
- | + | <tr><td>UPDATE ImageClass set `recordcount`= '' WHERE class='image'</td></tr> | |
- | + | <tr><td>ALTER TABLE ImageClass ADD `mediacount` varchar(250)</td></tr> | |
- | + | <tr><td>UPDATE ImageClass set `mediacount`= '' WHERE class='image'</td></tr> | |
- | + | <tr><td>CREATE TABLE `oaisets` (`id` varchar(150) NOT NULL default '', `oaiset` varchar(32) NOT NULL default '', PRIMARY KEY (`id`,`oaiset`)) ENGINE=MyISAM DEFAULT CHARSET=utf8</td></tr> | |
- | + | <tr><td>CREATE TABLE `oai` (`id` varchar(150) NOT NULL default '', `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `oai_dc` mediumblob, `mods` mediumblob, `marc21` mediumblob, PRIMARY KEY (`id`), KEY `timestamp` (`timestamp`)) ENGINE=MyISAM DEFAULT CHARSET=utf8</td></tr> | |
- | + | <tr><td>CREATE TABLE `nameresolver` (`id` tinytext NOT NULL, `coll` tinytext, `url` tinytext, `modified` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY `id` (`id`(300),`coll`(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8</td></tr> | |
- | + | <tr><td>ALTER TABLE `idresolver` MODIFY `url` mediumtext NULL</td></tr> | |
- | + | ||
- | + | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
</table> | </table> | ||
[[#top|Top]] | [[#top|Top]] |
Current revision
Main Page > Working with DLXS Components > Working with DLXS Utilities and Applications > DLXS Database Upgrade Utility
These instructions assume you are upgrading from a version N MySQL database to a version N+1 database.
Contents |
[edit] Overview
This document describes the upgrade process for the dlxs database. This document assumes you are upgrading from a version N MySQL database to a version N+1 database. See the table Database Versions.
Each version of the database is meant to be run with a specific version of DLXS. For example, version 5 of the database works only with versions 12 and 12a of DLXS. If you need to have two or more versions of DLXS running, you will need to set up a database with the appropriate version for each DLXS installation. If this is of interest to you, contact DLXS Help for guidance in doing this.
Below is a series of steps to follow to upgrade your database. You should upgrade the database after installing the DLXS middleware since the upgrade script is part of the installation and depends on values you supply during installation.
[edit] Step 1. Dump a copy of your version N MySQL database
Use the mysqldump
command line client to dump a copy of your current version 6 MySQL DLXS database. For example:
% mysqldump -u dlxsadm -p dlxs_vN > dlxs_vN_dump.sql
[edit] Step 2. Create an empty MySQL database
Create an empty MySQL database specifying the name you want it to have for your new DLXS installation, e.g. dlxs_vN+1
. Please refer to this section of the installation instructions for information on creating a MySQL database.
[edit] Step 3. Populate the empty MySQL database with the dump
Use the mysql
command line client to load the dump of your version N DLXS database into the empty database that will become a version N+1 DLXS database after you upgrade it.
% mysql -u dlxsadm -p dlxs_vN+1 < dlxs_vN_dump.sql
[edit] Step 4. Run the upgrade_N_N+1 script
Bring the database into which you loaded the dump up to version N+1 using the $DLXSROOT/bin/db/upgrade_N_N+1 script. There are no command line parameters to the script. It reads the server name, database name, username, and password out of $DLXSROOT/lib/LibGlobals.cfg as supplied by you at install time.
% cd $DLXSROOT/bin/db; ./upgrade_N_N+1
IMPORTANT NOTE |
---|
Due to schema changes to the dynamic browse tables (ItemBrowse, ItemBrowseCounts, ItemColl) that are not backward compatible, the upgrade process will create new empty versions of these tables. Following the upgrade process it will be necessary to re-generate the data rows for these tables for collections other than the sample data collections sampletc_utf8, sampleic, and samplefa. Please consult the dynamic browse database building documentation |
Once the upgrade is completed you will have a version N+1 DLXS database compatible with you new installation of DLXS middleware.
The following is a list of changes that the upgrade_6_7 script makes in DLXS release 14:
SQL Command |
---|
UPDATE `Version` SET `version`='7.0' |
ALTER TABLE Collection ADD `sponsor` text |
UPDATE Collection set `sponsor`= WHERE class='bib' |
UPDATE Collection set `sponsor`= WHERE class='text' |
UPDATE Collection set `sponsor`= WHERE class='findaid' |
UPDATE Collection set `sponsor`= WHERE class='image' |
ALTER TABLE Collection ADD `oai` varchar(250) |
UPDATE Collection set `oai`= WHERE class='bib' |
UPDATE Collection set `oai`= WHERE class='text' |
UPDATE Collection set `oai`= WHERE class='findaid' |
UPDATE Collection set `oai`= WHERE class='image' |
ALTER TABLE Collection MODIFY `host` varchar(250) DEFAULT 'localhost' |
ALTER TABLE `BookBagDB` MODIFY `username` varchar(255) NOT NULL |
ALTER TABLE ImageClass ADD `brwsadds` varchar(250) |
UPDATE ImageClass set `brwsadds`= 'off' WHERE class='image' |
ALTER TABLE ImageClass ADD `recordcount` varchar(250) |
UPDATE ImageClass set `recordcount`= WHERE class='image' |
ALTER TABLE ImageClass ADD `mediacount` varchar(250) |
UPDATE ImageClass set `mediacount`= WHERE class='image' |
CREATE TABLE `oaisets` (`id` varchar(150) NOT NULL default , `oaiset` varchar(32) NOT NULL default , PRIMARY KEY (`id`,`oaiset`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
CREATE TABLE `oai` (`id` varchar(150) NOT NULL default , `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `oai_dc` mediumblob, `mods` mediumblob, `marc21` mediumblob, PRIMARY KEY (`id`), KEY `timestamp` (`timestamp`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
CREATE TABLE `nameresolver` (`id` tinytext NOT NULL, `coll` tinytext, `url` tinytext, `modified` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY `id` (`id`(300),`coll`(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
ALTER TABLE `idresolver` MODIFY `url` mediumtext NULL |