From 975de3eb2f3fb5886c016ae6008f69274ae41996 Mon Sep 17 00:00:00 2001 From: Ben Ostrowsky Date: Wed, 9 Mar 2011 18:11:33 +0000 Subject: [PATCH] Routine to create cards in a migration schema --- sql/base/base.sql | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index ba413c7..e5c6244 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -1011,3 +1011,25 @@ BEGIN END; $$ LANGUAGE plpgsql; + + +CREATE OR REPLACE FUNCTION migration_tools.create_cards( schemaname TEXT ) RETURNS VOID AS $$ + +-- USAGE: Make sure the patrons are staged in schemaname.actor_usr_legacy and have 'usrname' assigned. +-- Then SELECT migration_tools.create_cards('m_foo'); + +DECLARE + u TEXT := schemaname || '.actor_usr_legacy'; + c TEXT := schemaname || '.actor_card'; + +BEGIN + + EXECUTE ('TRUNCATE ' || c || ';'); + EXECUTE ('INSERT INTO ' || c || ' (usr, barcode) SELECT id, usrname FROM ' || u || ';'); + EXECUTE ('UPDATE ' || u || ' u SET card = c.id FROM ' || c || ' c WHERE c.usr = u.id;'); + + RETURN; + +END; + +$$ LANGUAGE plpgsql; -- 1.7.2.5