You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
9.4 KiB
176 lines
9.4 KiB
-- ROLLBACK: restore the Swedish schema |
|
-- |
|
-- Generated by scripts/generate_rename_migration.py from _postgres/rename_map.py. |
|
-- Do not edit by hand; edit the map and regenerate. |
|
-- |
|
-- ALTER TABLE ... RENAME is catalog-only in PostgreSQL: no table rewrite, no data |
|
-- movement, no index rebuild. Wall time is milliseconds regardless of row count, |
|
-- and the HNSW vector indexes are not touched. |
|
-- |
|
-- Guarded by an existence check, so this is a no-op on a database created from the |
|
-- current schema.sql and does the work on one created before the rename. One file |
|
-- serves both a fresh install and an existing deployment. |
|
|
|
BEGIN; |
|
|
|
SET LOCAL lock_timeout = '5s'; |
|
SET LOCAL statement_timeout = 0; |
|
|
|
DO $rename$ |
|
BEGIN |
|
IF EXISTS (SELECT 1 FROM information_schema.columns |
|
WHERE table_schema = 'public' AND table_name = 'speeches' |
|
AND column_name = 'text') THEN |
|
-- indexes |
|
ALTER INDEX IF EXISTS speeches_search_idx RENAME TO talks_search_idx; |
|
ALTER INDEX IF EXISTS speeches_debate_idx RENAME TO talks_debate_idx; |
|
ALTER INDEX IF EXISTS speeches_party_idx RENAME TO talks_parti_idx; |
|
ALTER INDEX IF EXISTS speeches_date_idx RENAME TO talks_datum_idx; |
|
ALTER INDEX IF EXISTS speeches_year_idx RENAME TO talks_year_idx; |
|
ALTER INDEX IF EXISTS speeches_person_idx RENAME TO talks_intressent_idx; |
|
ALTER INDEX IF EXISTS speeches_speaker_idx RENAME TO talks_talare_idx; |
|
ALTER INDEX IF EXISTS speeches_source_doc_idx RENAME TO talks_dok_id_idx; |
|
ALTER INDEX IF EXISTS speeches_summary_embedding_idx RENAME TO talks_summary_embedding_idx; |
|
ALTER INDEX IF EXISTS speech_chunks_speech_idx RENAME TO chunks_talk_idx; |
|
ALTER INDEX IF EXISTS speech_chunks_embedding_idx RENAME TO chunks_embedding_idx; |
|
ALTER INDEX IF EXISTS debates_date_idx RENAME TO debates_datum_idx; |
|
ALTER INDEX IF EXISTS documents_search_idx RENAME TO motions_search_idx; |
|
ALTER INDEX IF EXISTS documents_date_idx RENAME TO motions_datum_idx; |
|
ALTER INDEX IF EXISTS documents_session_year_idx RENAME TO motions_year_idx; |
|
ALTER INDEX IF EXISTS documents_committee_idx RENAME TO motions_organ_idx; |
|
ALTER INDEX IF EXISTS documents_parties_idx RENAME TO motions_parties_idx; |
|
ALTER INDEX IF EXISTS document_authors_person_idx RENAME TO motion_authors_intressent_idx; |
|
ALTER INDEX IF EXISTS document_chunks_doc_idx RENAME TO motion_chunks_motion_idx; |
|
ALTER INDEX IF EXISTS document_chunks_embedding_idx RENAME TO motion_chunks_embedding_idx; |
|
ALTER INDEX IF EXISTS document_proposals_doc_idx RENAME TO motion_yrkanden_dok_idx; |
|
ALTER INDEX IF EXISTS document_proposals_embedding_idx RENAME TO motion_yrkanden_embedding_idx; |
|
|
|
-- tables |
|
ALTER TABLE documents DROP COLUMN IF EXISTS doc_type; |
|
ALTER TABLE speeches RENAME TO talks; |
|
ALTER TABLE speech_chunks RENAME TO chunks; |
|
ALTER TABLE documents RENAME TO motions; |
|
ALTER TABLE document_chunks RENAME TO motion_chunks; |
|
ALTER TABLE document_authors RENAME TO motion_authors; |
|
ALTER TABLE document_proposals RENAME TO motion_yrkanden; |
|
|
|
-- columns |
|
ALTER TABLE people RENAME COLUMN person_id TO intressent_id; |
|
ALTER TABLE people RENAME COLUMN source_record_id TO hangar_id; |
|
ALTER TABLE people RENAME COLUMN source_record_guid TO hangar_guid; |
|
ALTER TABLE people RENAME COLUMN source_id TO sourceid; |
|
ALTER TABLE people RENAME COLUMN birth_year TO fodd_ar; |
|
ALTER TABLE people RENAME COLUMN gender TO kon; |
|
ALTER TABLE people RENAME COLUMN last_name TO efternamn; |
|
ALTER TABLE people RENAME COLUMN first_name TO tilltalsnamn; |
|
ALTER TABLE people RENAME COLUMN sort_name TO sorteringsnamn; |
|
ALTER TABLE people RENAME COLUMN home_town TO iort; |
|
ALTER TABLE people RENAME COLUMN party TO parti; |
|
ALTER TABLE people RENAME COLUMN constituency TO valkrets; |
|
ALTER TABLE people RENAME COLUMN source_url TO person_url_xml; |
|
ALTER TABLE people RENAME COLUMN image_url_small TO bild_url_80; |
|
ALTER TABLE people RENAME COLUMN image_url_medium TO bild_url_192; |
|
ALTER TABLE people RENAME COLUMN image_url_large TO bild_url_max; |
|
ALTER TABLE people RENAME COLUMN assignments TO personuppdrag; |
|
ALTER TABLE people RENAME COLUMN contact_details TO personuppgift; |
|
ALTER TABLE people RENAME COLUMN name TO namn; |
|
ALTER TABLE people RENAME COLUMN active TO aktiv; |
|
ALTER TABLE talks RENAME COLUMN source_speech_id TO anforande_id; |
|
ALTER TABLE talks RENAME COLUMN text TO anforandetext; |
|
ALTER TABLE talks RENAME COLUMN section_title TO avsnittsrubrik; |
|
ALTER TABLE talks RENAME COLUMN sequence TO anforande_nummer; |
|
ALTER TABLE talks RENAME COLUMN activity_type TO kammaraktivitet; |
|
ALTER TABLE talks RENAME COLUMN speaker_name TO talare; |
|
ALTER TABLE talks RENAME COLUMN party TO parti; |
|
ALTER TABLE talks RENAME COLUMN person_id TO intressent_id; |
|
ALTER TABLE talks RENAME COLUMN date TO datum; |
|
ALTER TABLE talks RENAME COLUMN source_datetime TO dok_datum; |
|
ALTER TABLE talks RENAME COLUMN session_year TO period; |
|
ALTER TABLE talks RENAME COLUMN related_doc_id TO rel_dok_id; |
|
ALTER TABLE talks RENAME COLUMN source_doc_number TO dok_nummer; |
|
ALTER TABLE talks RENAME COLUMN source_record_id TO hangar_id; |
|
ALTER TABLE talks RENAME COLUMN source_doc_id TO dok_id; |
|
ALTER TABLE talks RENAME COLUMN title TO titel; |
|
ALTER TABLE talks RENAME COLUMN debate_id TO debate; |
|
ALTER TABLE talks RENAME COLUMN is_reply TO replik; |
|
ALTER TABLE talks RENAME COLUMN url_video TO debateurl; |
|
ALTER TABLE talks RENAME COLUMN url_audio_file TO audiofileurl; |
|
ALTER TABLE talks RENAME COLUMN audio_start_seconds TO startpos; |
|
ALTER TABLE chunks RENAME COLUMN speech_id TO talk_id; |
|
ALTER TABLE debates RENAME COLUMN id TO debate; |
|
ALTER TABLE debates RENAME COLUMN date TO datum; |
|
ALTER TABLE motions RENAME COLUMN doc_id TO dok_id; |
|
ALTER TABLE motions RENAME COLUMN source_record_id TO hangar_id; |
|
ALTER TABLE motions RENAME COLUMN session_label TO rm; |
|
ALTER TABLE motions RENAME COLUMN designation TO beteckning; |
|
ALTER TABLE motions RENAME COLUMN subtype TO subtyp; |
|
ALTER TABLE motions RENAME COLUMN committee TO organ; |
|
ALTER TABLE motions RENAME COLUMN date TO datum; |
|
ALTER TABLE motions RENAME COLUMN source_updated_at TO systemdatum; |
|
ALTER TABLE motions RENAME COLUMN published_at TO publicerad; |
|
ALTER TABLE motions RENAME COLUMN session_year TO year; |
|
ALTER TABLE motions RENAME COLUMN title TO titel; |
|
ALTER TABLE motions RENAME COLUMN subtitle TO undertitel; |
|
ALTER TABLE motions RENAME COLUMN proposals_text TO forslag_text; |
|
ALTER TABLE motions RENAME COLUMN url_text TO dokument_url_text; |
|
ALTER TABLE motions RENAME COLUMN url_html TO dokument_url_html; |
|
ALTER TABLE motions RENAME COLUMN url_pdf TO pdf_url; |
|
ALTER TABLE motions RENAME COLUMN proposals_raw TO forslag; |
|
ALTER TABLE motions RENAME COLUMN attachments TO bilagor; |
|
ALTER TABLE motions RENAME COLUMN num_proposals TO num_yrkanden; |
|
ALTER TABLE motion_authors RENAME COLUMN doc_id TO dok_id; |
|
ALTER TABLE motion_authors RENAME COLUMN person_id TO intressent_id; |
|
ALTER TABLE motion_authors RENAME COLUMN name TO namn; |
|
ALTER TABLE motion_authors RENAME COLUMN party TO partibet; |
|
ALTER TABLE motion_authors RENAME COLUMN role TO roll; |
|
ALTER TABLE motion_chunks RENAME COLUMN doc_id TO motion_id; |
|
ALTER TABLE motion_yrkanden RENAME COLUMN doc_id TO dok_id; |
|
ALTER TABLE motion_yrkanden RENAME COLUMN number TO nummer; |
|
ALTER TABLE motion_yrkanden RENAME COLUMN text TO lydelse; |
|
ALTER TABLE motion_yrkanden RENAME COLUMN committee_recommendation TO utskottet; |
|
ALTER TABLE motion_yrkanden RENAME COLUMN chamber_decision TO kammaren; |
|
ALTER TABLE motion_yrkanden RENAME COLUMN handled_in TO behandlas_i; |
|
ALTER TABLE chat_sessions RENAME COLUMN person_id TO intressent_id; |
|
ALTER TABLE chat_sessions RENAME COLUMN initial_speech_id TO initial_talk_id; |
|
ALTER TABLE chat_snapshots RENAME COLUMN person_id TO intressent_id; |
|
ALTER TABLE chat_snapshots RENAME COLUMN initial_speech_id TO initial_talk_id; |
|
END IF; |
|
END |
|
$rename$; |
|
|
|
-- Restore the original trigger functions. |
|
DROP TRIGGER IF EXISTS speeches_search_vector_trigger ON talks; |
|
DROP FUNCTION IF EXISTS speeches_search_vector_update(); |
|
|
|
CREATE OR REPLACE FUNCTION talks_search_vector_update() RETURNS TRIGGER AS $fn$ |
|
BEGIN |
|
NEW.search_vector := to_tsvector('swedish', coalesce(NEW.anforandetext, '')); |
|
RETURN NEW; |
|
END; |
|
$fn$ LANGUAGE plpgsql; |
|
|
|
DROP TRIGGER IF EXISTS talks_search_vector_trigger ON talks; |
|
CREATE TRIGGER talks_search_vector_trigger |
|
BEFORE INSERT OR UPDATE OF anforandetext ON talks |
|
FOR EACH ROW EXECUTE FUNCTION talks_search_vector_update(); |
|
|
|
DROP TRIGGER IF EXISTS documents_search_vector_trigger ON motions; |
|
DROP FUNCTION IF EXISTS documents_search_vector_update(); |
|
|
|
CREATE OR REPLACE FUNCTION motions_search_vector_update() RETURNS TRIGGER AS $fn$ |
|
BEGIN |
|
NEW.search_vector := |
|
setweight(to_tsvector('swedish', coalesce(NEW.titel, '')), 'A') || |
|
setweight(to_tsvector('swedish', coalesce(NEW.forslag_text, '')), 'B') || |
|
setweight(to_tsvector('swedish', coalesce(NEW.undertitel, '')), 'C') || |
|
setweight(to_tsvector('swedish', coalesce(NEW.text, '')), 'D'); |
|
RETURN NEW; |
|
END; |
|
$fn$ LANGUAGE plpgsql; |
|
|
|
DROP TRIGGER IF EXISTS motions_search_vector_trigger ON motions; |
|
CREATE TRIGGER motions_search_vector_trigger |
|
BEFORE INSERT OR UPDATE OF titel, undertitel, text, forslag_text ON motions |
|
FOR EACH ROW EXECUTE FUNCTION motions_search_vector_update(); |
|
|
|
COMMIT;
|
|
|