From e27797fe3d57f6ffe56f0df6775b8dc4f915a716 Mon Sep 17 00:00:00 2001 From: miker Date: Mon, 18 Apr 2005 15:41:19 +0000 Subject: [PATCH] added circ_lib back to asset.copy; infrastructure for "Copy Transparency" git-svn-id: svn://svn.open-ils.org/ILS/trunk@506 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../OpenILS/Application/Storage/CDBI/asset.pm | 2 +- .../src/sql/Postgres/040.schema.asset.sql | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm index 9890865089..fa4dbbaf4c 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI/asset.pm @@ -27,7 +27,7 @@ use base qw/asset/; __PACKAGE__->table( 'asset_copy' ); __PACKAGE__->columns( Primary => qw/id/ ); __PACKAGE__->columns( Essential => qw/call_number barcode creator create_date editor - edit_date copy_number available loan_duration + edit_date copy_number available loan_duration circ_lib fine_level circulate deposit price ref opac_visible circ_as_type circ_modifier deposit_amount/ ); diff --git a/Open-ILS/src/sql/Postgres/040.schema.asset.sql b/Open-ILS/src/sql/Postgres/040.schema.asset.sql index 8d2ef6d78c..81b91293e4 100644 --- a/Open-ILS/src/sql/Postgres/040.schema.asset.sql +++ b/Open-ILS/src/sql/Postgres/040.schema.asset.sql @@ -6,6 +6,7 @@ CREATE SCHEMA asset; CREATE TABLE asset.copy ( id BIGSERIAL PRIMARY KEY, + circ_lib INT NOT NULL REFERENCES actor.org_unit (id), creator BIGINT NOT NULL, create_date TIMESTAMP WITH TIME ZONE DEFAULT NOW(), editor BIGINT NOT NULL, @@ -28,6 +29,39 @@ CREATE TABLE asset.copy ( ); CREATE INDEX cp_cn_idx ON asset.copy (call_number); +CREATE TABLE asset.copy_transparency ( + id SERIAL PRIMARY KEY, + name TEXT NOT NULL, + owner INT NOT NULL REFERENCES actor.org_unit (id), + circ_lib INT REFERENCES actor.org_unit (id), + holdable BOOL, + loan_duration INT CHECK ( loan_duration IN (1,2,3) ), + fine_level INT CHECK ( fine_level IN (1,2,3) ), + circulate BOOL, + deposit BOOL, + deposit_amount NUMERIC(6,2), + ref BOOL, + circ_modifier TEXT, + circ_as_type TEXT, + opac_visible BOOL + CONSTRAINT scte_name_once_per_lib UNIQUE (owner,name) +); + +CREATE TABLE asset.copy_tranparency_map ( + id BIGSERIAL PRIMARY KEY, + tansparency INT NOT NULL REFERENCES asset.copy_transparency (id), + target_copy INT NOT NULL UNIQUE REFERENCES asset.copy (id) +); +CREATE INDEX cp_tr_cp_idx ON asset.copy_tranparency_map (tansparency); + +CREATE TABLE asset.stat_cat_entry_transparency_map ( + id BIGSERIAL PRIMARY KEY, + stat_cat INT NOT NULL, -- needs ON DELETE CASCADE + stat_cat_entry INT NOT NULL, -- needs ON DELETE CASCADE + owning_transparency INT NOT NULL, -- needs ON DELETE CASCADE + CONSTRAINT scte_once_per_trans UNIQUE (owning_transparency,stat_cat) +); + CREATE TABLE asset.stat_cat ( id SERIAL PRIMARY KEY, owner INT NOT NULL, -- actor.org_unit.id -- 2.43.2