CREATE TEMP TABLE backup_loc AS SELECT * FROM asset.copy_location WHERE id = 1;
CREATE TEMP TABLE backup_usr AS SELECT * FROM actor.usr WHERE id = 1;
-CREATE TEMP TABLE backup_card AS SELECT * FROM actor.card WHERE usr = 1;
+CREATE TEMP TABLE backup_card AS SELECT * FROM actor.card WHERE usr IN (SELECT id FROM backup_usr);
UPDATE backup_usr SET card = NULL;
DROP INDEX metabib.metabib_full_rec_index_vector_idx;
+DROP INDEX metabib.metabib_full_value_idx;
DROP INDEX metabib.metabib_title_field_entry_index_vector_idx;
DROP INDEX metabib.metabib_author_field_entry_index_vector_idx;
DROP INDEX metabib.metabib_subject_field_entry_index_vector_idx;
DROP INDEX metabib.metabib_keyword_field_entry_index_vector_idx;
DROP INDEX metabib.metabib_series_field_entry_index_vector_idx;
+DROP INDEX metabib.metabib_full_rec_tag_subfield_idx;
+
TRUNCATE biblio.record_entry CASCADE;
TRUNCATE metabib.full_rec;
TRUNCATE metabib.keyword_field_entry;
TRUNCATE metabib.series_field_entry;
TRUNCATE auditor.biblio_record_entry_history;
+TRUNCATE asset.copy_location CASCADE;
TRUNCATE actor.usr CASCADE;
TRUNCATE actor.card CASCADE;
INSERT INTO actor.usr SELECT * FROM backup_usr;
INSERT INTO actor.card SELECT * FROM backup_card;
UPDATE actor.usr SET card = actor.card.id FROM actor.card WHERE actor.usr.id = actor.card.usr;
+SELECT SETVAL('actor.usr_id_seq', (SELECT MAX(id)+1 FROM actor.usr));
+SELECT SETVAL('actor.card_id_seq', (SELECT MAX(id)+1 FROM actor.card));
-- Put any scripts that reload bibs/items/etc here. Example included.
/*
\i incoming.sql
*/
+\i IN.sql
CREATE INDEX metabib_title_field_entry_index_vector_idx ON metabib.title_field_entry USING GIST (index_vector);
CREATE INDEX metabib_author_field_entry_index_vector_idx ON metabib.author_field_entry USING GIST (index_vector);
CREATE INDEX metabib_full_rec_tag_subfield_idx ON metabib.full_rec (tag,subfield);
CREATE INDEX metabib_full_value_idx ON metabib.full_rec (value);
+/* Run the AFTER committing ...
+
ALTER TABLE metabib.metarecord_source_map DROP CONSTRAINT metabib_metarecord_source_map_metarecord_fkey;
TRUNCATE metabib.metarecord;
ADD CONSTRAINT metabib_metarecord_source_map_metarecord_fkey
FOREIGN KEY (metarecord) REFERENCES metabib.metarecord (id) DEFERRABLE INITIALLY DEFERRED;
+*/
+
+
+/* And this too, if it's production
+
SELECT reporter.enable_materialized_simple_record_trigger();
+*/
-- COMMIT;
-- VACUUM FULL;