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;