54 lines
1.6 KiB
SQL
54 lines
1.6 KiB
SQL
-- v2: Rename columns in message-related tables
|
|
|
|
ALTER TABLE portal RENAME COLUMN dmuser TO other_user_id;
|
|
ALTER TABLE portal RENAME COLUMN channel_id TO dcid;
|
|
|
|
ALTER TABLE "user" RENAME COLUMN id TO dcid;
|
|
|
|
ALTER TABLE puppet DROP COLUMN enable_presence;
|
|
ALTER TABLE puppet DROP COLUMN enable_receipts;
|
|
|
|
DROP TABLE message;
|
|
DROP TABLE reaction;
|
|
DROP TABLE attachment;
|
|
|
|
CREATE TABLE message (
|
|
dcid TEXT,
|
|
dc_chan_id TEXT,
|
|
dc_chan_receiver TEXT,
|
|
dc_sender TEXT NOT NULL,
|
|
timestamp BIGINT NOT NULL,
|
|
|
|
mxid TEXT NOT NULL UNIQUE,
|
|
|
|
PRIMARY KEY (dcid, dc_chan_id, dc_chan_receiver),
|
|
CONSTRAINT message_portal_fkey FOREIGN KEY (dc_chan_id, dc_chan_receiver) REFERENCES portal (dcid, receiver) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE reaction (
|
|
dc_chan_id TEXT,
|
|
dc_chan_receiver TEXT,
|
|
dc_msg_id TEXT,
|
|
dc_sender TEXT,
|
|
dc_emoji_name TEXT,
|
|
|
|
mxid TEXT NOT NULL UNIQUE,
|
|
|
|
PRIMARY KEY (dc_chan_id, dc_chan_receiver, dc_msg_id, dc_sender, dc_emoji_name),
|
|
CONSTRAINT reaction_message_fkey FOREIGN KEY (dc_msg_id, dc_chan_id, dc_chan_receiver) REFERENCES message (dcid, dc_chan_id, dc_chan_receiver) ON DELETE CASCADE
|
|
);
|
|
|
|
CREATE TABLE attachment (
|
|
dcid TEXT,
|
|
dc_msg_id TEXT,
|
|
dc_chan_id TEXT,
|
|
dc_chan_receiver TEXT,
|
|
|
|
mxid TEXT NOT NULL UNIQUE,
|
|
|
|
PRIMARY KEY (dcid, dc_msg_id, dc_chan_id, dc_chan_receiver),
|
|
CONSTRAINT attachment_message_fkey FOREIGN KEY (dc_msg_id, dc_chan_id, dc_chan_receiver) REFERENCES message (dcid, dc_chan_id, dc_chan_receiver) ON DELETE CASCADE
|
|
);
|
|
|
|
UPDATE portal SET receiver='' WHERE type<>1;
|