%syntax-version=1.0.0
%project=kcls-evergreen-data
+%uri=http://kcls.org/evergreen-data
no_op_initialization [kcls-evergreen:KMAIN-1765-reingest-causing-false-browse-headings] 2015-08-13T16:51:28Z Bill Erickson <berickxx@gmail.com > # Start with a no-op target so other can depend on it
--- /dev/null
+-- Deploy kcls-evergreen-data:admin-user to pg
+-- requires: main-data-export
+
+BEGIN;
+
+-- Admin user account
+INSERT INTO actor.usr
+ (profile, card, usrname, passwd, first_given_name, family_name, dob,
+ master_account, super_user, ident_type, ident_value, home_ou)
+VALUES (1, 1, md5(random()::text), md5(random()::text), 'Administrator',
+ 'System Account', '1979-01-22', TRUE, TRUE, 1, 'identification', 1 );
+
+-- since this is demo data, a default admin password is OK.
+UPDATE actor.usr SET passwd = 'demo123', usrname = 'admin' WHERE id = 1;
+
+-- Admin user barcode
+INSERT INTO actor.card (usr, barcode) VALUES (1,md5(random()::text));
+UPDATE actor.usr SET card = (SELECT currval('actor.card_id_seq')) WHERE id = 1;
+
+-- Admin user permissions
+INSERT INTO permission.usr_perm_map (usr,perm,depth) VALUES (1,-1,0);
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:authorit-records to pg
+-- requires: bib-records
+
+BEGIN;
+
+SELECT do_copy('authority.record_entry', 'kcls-dev-auths.sql', :exportdir);
+
+UPDATE authority.record_entry SET creator = 1, editor = 1;
+
+SELECT SETVAL('authority.record_entry_id_seq',
+ (SELECT MAX(id) FROM authority.record_entry));
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:bib-records to pg
+-- requires: org-settings
+
+BEGIN;
+
+SELECT do_copy('biblio.record_entry', 'kcls-dev-recs.sql', :exportdir);
+
+UPDATE biblio.record_entry SET creator = 1, editor = 1;
+
+SELECT SETVAL('biblio.record_entry_id_seq',
+ (SELECT MAX(id) FROM biblio.record_entry));
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:call-numbers to pg
+-- requires: bib-records
+
+BEGIN;
+
+SELECT do_copy('asset.call_number', 'kcls-dev-cns.sql', :exportdir);
+
+UPDATE asset.call_number SET creator = 1, editor = 1;
+
+SELECT SETVAL('asset.call_number_id_seq',
+ (SELECT MAX(id) FROM asset.call_number));
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:copies to pg
+-- requires: call-numbers
+
+BEGIN;
+
+SELECT do_copy('asset.copy', 'kcls-dev-copies.sql', :exportdir);
+
+UPDATE asset.copy SET creator = 1, editor = 1;
+
+SELECT SETVAL('asset.copy_id_seq', (SELECT MAX(id) FROM asset.copy));
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:main-data-export to pg
+
+BEGIN;
+
+\i exports/kcls-dev-db-export.sql;
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:org-settings to pg
+-- requires: admin-user
+
+BEGIN;
+
+SELECT do_copy('actor.org_unit_setting', 'kcls-dev-aous.sql', :exportdir);
+
+SELECT SETVAL('actor.org_unit_setting_id_seq',
+ (SELECT MAX(id) FROM actor.org_unit_setting));
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-sample-data:sample-data-funcs to pg
+
+BEGIN;
+
+-- utility function for COPYing files based on variable path names
+CREATE FUNCTION public.do_copy(tbname TEXT, fname TEXT, fpath TEXT) RETURNS VOID AS $$
+ BEGIN
+ EXECUTE 'COPY ' || tbname || ' FROM ''' || fpath || '/' || fname || '''';
+ RETURN;
+ END;
+$$ LANGUAGE PLPGSQL;
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:transactions to pg
+-- requires: users
+
+BEGIN;
+
+\i ../../../Open-ILS/tests/datasets/sql/env_create.sql;
+\i exports/kcls-dev-xacts.sql;
+\i ../../../Open-ILS/tests/datasets/sql/env_destroy.sql;
+
+COMMIT;
--- /dev/null
+-- Deploy kcls-evergreen-data:users to pg
+-- requires: admin-user
+
+BEGIN;
+
+\i exports/kcls-dev-users.sql;
+
+COMMIT;
-BEGIN;
--
-- PostgreSQL database dump
--
-- PostgreSQL database dump complete
--
-COMMIT;
-BEGIN;
-
-\set ON_ERROR_STOP on;
INSERT INTO actor.usr (profile, ident_type, usrname, home_ou, family_name, passwd, first_given_name, second_given_name, expire_date, dob, suffix) VALUES (75, 1, '392282', 119, 'Belcher', 'demo123', 'Vanessa', 'Jane', '2014-07-02', '1975-01-12', '');
INSERT INTO actor.usr_address (country, within_city_limits, post_code, street1, valid, state, city, street2, county, usr) VALUES ('USA', 't', '32610', '8563 Weekly Baby Well', 'f', 'FL', 'Gainesville', '', 'Alachua', CURRVAL('actor.usr_id_seq'));
INSERT INTO actor.card (barcode, usr) VALUES ('310044', CURRVAL('actor.usr_id_seq'));
UPDATE actor.usr SET card = CURRVAL('actor.card_id_seq'), billing_address = CURRVAL('actor.usr_address_id_seq'), credit_forward_balance = '0', mailing_address = CURRVAL('actor.usr_address_id_seq') WHERE id=CURRVAL('actor.usr_id_seq');
-COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:admin-user from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:authorit-records from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:bib-records from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:call-numbers from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:copies from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:main-data-export from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:org-settings from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-sample-data:sample-data-funcs from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:transactions from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+-- Revert kcls-evergreen-data:users from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
--- /dev/null
+[core]
+ engine = pg
+ # plan_file = sqitch.plan
+ # top_dir = .
+ # deploy_dir = deploy
+ # revert_dir = revert
+ # verify_dir = verify
+ # extension = sql
+[target "evergreen"]
+ uri = db:pg:evergreen
+[engine "pg"]
+ target = evergreen
+[deploy]
+ verify = true
+[rebase]
+ verify = true
--- /dev/null
+%syntax-version=1.0.0
+%project=kcls-evergreen-sample-data
+%uri=http://kcls.org/evergreen-sample-data
+
+sample-data-funcs 2015-08-13T18:41:39Z Bill Erickson <berickxx@gmail.com > # Sample Data Functions
+main-data-export [sample-data-funcs] 2015-08-13T17:39:44Z Bill Erickson <berickxx@gmail.com > # Base configuration data
+admin-user [main-data-export] 2015-08-13T17:41:27Z Bill Erickson <berickxx@gmail.com > # Admin user, card, password
+org-settings [admin-user] 2015-08-13T17:41:53Z Bill Erickson <berickxx@gmail.com > # Org unit settings
+bib-records [org-settings] 2015-08-13T17:42:26Z Bill Erickson <berickxx@gmail.com > # Sample Bib records
+call-numbers [bib-records] 2015-08-13T17:42:48Z Bill Erickson <berickxx@gmail.com > # Sample Call Numbers
+copies [call-numbers] 2015-08-13T17:43:17Z Bill Erickson <berickxx@gmail.com > # Sample Copies
+authority-records [bib-records] 2015-08-13T17:43:53Z Bill Erickson <berickxx@gmail.com > # Sample Authority Records
+users [admin-user] 2015-08-13T17:44:13Z Bill Erickson <berickxx@gmail.com > # Sample Users
+transactions [users] 2015-08-13T17:44:44Z Bill Erickson <berickxx@gmail.com > # Sample Transactions
# development data export
# -------------------------------------------------------------------
set -euo pipefail
-DIR=$(pwd);
if [ ! $(which sqitch) ]; then
echo "Could not find 'sqitch'."
- echo "Consider running: sudo cpan App::Sqitch";
+ echo "Consider installing via: sudo cpan App::Sqitch";
echo "See also http://sqitch.org/"
exit 1;
fi
+echo "Creating evergreen database"
+
# create DB as postgres user
CREATE="CREATE DATABASE evergreen TEMPLATE template0 ENCODING 'UNICODE' LC_COLLATE 'C' LC_CTYPE 'C';"
echo $CREATE | sudo -u postgres psql
PSQL="psql -h localhost -U evergreen -d evergreen"
# deploy the schema
-cd ../schema
+echo "Deploying base schema"
+cd ../../schema
sqitch --db-user evergreen deploy
-cd $DIR
# deploy sample data
-sqitch --db-user evergreen deploy
-
-
-# The remainder of the script inserts sample data
-
-$PSQL -f kcls-dev-db-export.sql
-$PSQL -f kcls-dev-db-extras.sql
-
-echo "Loading org unit settings..."
-echo "
-BEGIN;
-COPY actor.org_unit_setting FROM '$DIR/kcls-dev-aous.sql';
-SELECT SETVAL('actor.org_unit_setting_id_seq',
- (SELECT MAX(id) FROM actor.org_unit_setting));
-COMMIT;" | $PSQL
-
-echo "Loading sample records..."
-echo "
-BEGIN;
-COPY biblio.record_entry FROM '$DIR/kcls-dev-recs.sql';
-UPDATE biblio.record_entry SET creator = 1, editor = 1;
-SELECT SETVAL('biblio.record_entry_id_seq',
- (SELECT MAX(id) FROM biblio.record_entry));
-COMMIT;" | $PSQL
-
-echo "Loading sample call numbers..."
-echo "
-BEGIN;
-COPY asset.call_number FROM '$DIR/kcls-dev-cns.sql';
-UPDATE asset.call_number SET creator = 1, editor = 1;
-SELECT SETVAL('asset.call_number_id_seq',
- (SELECT MAX(id) FROM asset.call_number));
-COMMIT;" | $PSQL
-
-echo "Loading sample copies..."
-echo "
-BEGIN;
-COPY asset.copy FROM '$DIR/kcls-dev-copies.sql';
-UPDATE asset.copy SET creator = 1, editor = 1;
-SELECT SETVAL('asset.copy_id_seq', (SELECT MAX(id) FROM asset.copy));
-COMMIT;" | $PSQL
-
-echo "Loading sample authority records..."
-echo "
-BEGIN;
-COPY authority.record_entry FROM '$DIR/kcls-dev-auths.sql';
-UPDATE authority.record_entry SET creator = 1, editor = 1;
-SELECT SETVAL('authority.record_entry_id_seq',
- (SELECT MAX(id) FROM authority.record_entry));
-COMMIT;" | $PSQL
-
-
-echo "Loading sample users..."
-$PSQL -f kcls-dev-users.sql
-
-echo "Loading transactions..."
-$PSQL -f ../../../Open-ILS/tests/datasets/sql/env_create.sql
-$PSQL -f kcls-dev-xacts.sql
-$PSQL -f ../../../Open-ILS/tests/datasets/sql/env_destroy.sql
-
+echo "Deploying sample data"
+cd ../sample-data
+sqitch --db-user evergreen deploy --set exportdir="'$PWD/exports'"
--- /dev/null
+-- Verify kcls-evergreen-data:admin-user on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:authorit-records on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:bib-records on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:call-numbers on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:copies on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:main-data-export on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:org-settings on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-sample-data:sample-data-funcs on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:transactions on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
--- /dev/null
+-- Verify kcls-evergreen-data:users on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;
%syntax-version=1.0.0
%project=kcls-evergreen
+%uri=http://kcls.org/evergreen-schema
kcls-2.4-base-prod 2015-08-12T18:23:04Z Joshua (JD) Drake <jd@commandprompt.com> # kcls-2.4-base-prod.sql
KMAIN_1448_Bug_from_KMAIN_268 [kcls-2.4-base-prod] 2015-08-12T18:59:30Z Joshua (JD) Drake <jd@commandprompt.com> # added: