From c5ea7e401025c919dcb96222a99e493a19191aa5 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Tue, 9 Feb 2021 11:48:36 +0100 Subject: [PATCH] Some more changes/improvements to the migration_timescaledb.sql file Signed-off-by: Pierre-Yves Chibon --- scripts/migration_timescaledb.sql | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/scripts/migration_timescaledb.sql b/scripts/migration_timescaledb.sql index eb0a264..cc5f521 100644 --- a/scripts/migration_timescaledb.sql +++ b/scripts/migration_timescaledb.sql @@ -62,19 +62,46 @@ CREATE INDEX messages2_datanommer_timestamp_category_idx ON public.messages2 USI CREATE INDEX messages2_datanommer_timestamp_topic_idx ON public.messages2 USING btree ("timestamp" DESC, topic); +-- Adjust user_messages + ALTER TABLE user_messages DROP CONSTRAINT user_messages_msg_fkey; ALTER TABLE user_messages ADD "timestamp" timestamp without time zone; UPDATE user_messages SET "timestamp" = messages2.timestamp FROM messages2 WHERE messages2.id = user_messages.msg; -ALTER TABLE user_messages ADD CONSTRAINT user_messages_msg_fkey FOREIGN KEY (msg, "timestamp") REFERENCES messages2(id, "timestamp"); +ALTER TABLE user_messages ADD "timestamp" timestamp without time zone; +UPDATE user_messages +SET "timestamp" = messages2.timestamp +FROM messages2 +WHERE user_messages.timestamp is NULL AND messages2.id = user_messages.msg; + +ALTER TABLE user_messages ALTER "timestamp" SET NOT NULL; + +ALTER TABLE user_messages + ADD CONSTRAINT user_messages_msg_fkey + FOREIGN KEY (msg, "timestamp") REFERENCES messages2(id, "timestamp") MATCH FULL; + + +-- Adjust package_messages ALTER TABLE package_messages DROP CONSTRAINT package_messages_msg_fkey; + ALTER TABLE package_messages ADD "timestamp" timestamp without time zone; UPDATE package_messages SET "timestamp" = messages2.timestamp FROM messages2 WHERE messages2.id = package_messages.msg; -ALTER TABLE package_messages ADD CONSTRAINT package_messages_msg_fkey FOREIGN KEY (msg, "timestamp") REFERENCES messages2(id, "timestamp"); + +ALTER TABLE user_messages ADD "timestamp" timestamp without time zone; +UPDATE user_messages +SET "timestamp" = messages2.timestamp +FROM messages2 +WHERE user_messages.timestamp is NULL AND messages2.id = user_messages.msg; + +ALTER TABLE user_messages ALTER "timestamp" SET NOT NULL; + +ALTER TABLE package_messages + ADD CONSTRAINT package_messages_msg_fkey + FOREIGN KEY (msg, "timestamp") REFERENCES messages2(id, "timestamp") MATCH FULL;