[OPEN-ILS-DEV] Proposed upgrade to serial schema

Dan Wells dbw2 at calvin.edu
Tue Jul 27 11:15:34 EDT 2010


Hello Scott,

You have divined my intentions exactly.  The only small change I would make is to note that the 'shadowed' column will soon have a NOT NULL constraint, so I think it makes sense to add it now.

Thanks,
Dan

>>> On 7/27/2010 at 10:22 AM, Scott McKellar <mck9 at swbell.net> wrote:
> The attached is a draft of an upgrade script for the serial schema.  Please 
> review before I commit it (along with the corresponding changes to the schema 
> itself and its install script).
> 
> This script is designed to bring the trunk version of the serial schema into 
> sync with Dan Wells' most recent version in the seials-integration branch, 
> except as noted below:
> 
> 1. I ignored a handful of minor changes in comments and white space.
> 
> 2. Dan's version doesn't include a couple of triggers present in trunk: 
> b_maintain_901 and c_maintain_control_numbers.  I'm not dropping them from 
> trunk.
> 
> 3. Where Dan's version adds the column caption_and_pattern to the 
> serial.issuance table, it ostensibly adds it in the middle, between 
> date_published and holding_code.  I don't have a good way to add it anywhere 
> but the end.
> 
> 4. Dan's version of serial.unit (which inherits from asset.copy) is 
> completely different.  Here's the trunk version:
> 
> CREATE TABLE serial.unit (
>     label           TEXT,
>     label_sort_key  TEXT,
>     contents        TEXT    NOT NULL
> ) INHERITS (asset.copy);
> 
> ALTER TABLE serial.unit ADD PRIMARY KEY (id);
> 
> And here's Dan's version:
> 
> CREATE TABLE serial.unit (
>     sort_key          TEXT,
>     detailed_contents TEXT    NOT NULL,
>     summary_contents  TEXT    NOT NULL
> ) INHERITS (asset.copy);
> 
> ALTER TABLE serial.unit ADD PRIMARY KEY (id);
> 
> Note that each has three text columns but the names are all different.  I 
> *think* what I need to do is:
> 
> a. Drop the "label" column;
> 
> b. Rename the "label_sort_key" column to "sort_key";
> 
> c. Rename the "contents" column to "detailed_contents";
> 
> d, Add a "summary_contents" column, initially nullable;
> 
> e. Copy the "detailed_contents" column to the "summary_contents" column;
> 
> f. Make the "summary_contents" column NOT NULL.
> 
> Later, someone will presumably massage the two contents columns to make them 
> appropriately different (assuming there's any data in the table in the first 
> place).
> 
> If I'm guessing wrong about serial.unit, please let me know.  I can do 
> anything reasonable but I need to know the rules.
> 
> I have not yet started looking at the necessary IDL changes.
> 
> Scott McKellar



More information about the Open-ils-dev mailing list