From: Ben Ostrowsky Date: Wed, 9 Mar 2011 18:11:33 +0000 (+0000) Subject: Routine to create cards in a migration schema X-Git-Url: http://git.equinoxoli.org/?p=migration-tools.git;a=commitdiff_plain;h=975de3eb2f3fb5886c016ae6008f69274ae41996 Routine to create cards in a migration schema --- 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;