19-message-edit-ts.sqlite.sql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. -- v19: Replace dc_edit_index with dc_edit_timestamp
  2. -- transaction: off
  3. PRAGMA foreign_keys = OFF;
  4. BEGIN;
  5. CREATE TABLE message_new (
  6. dcid TEXT,
  7. dc_attachment_id TEXT,
  8. dc_chan_id TEXT,
  9. dc_chan_receiver TEXT,
  10. dc_sender TEXT NOT NULL,
  11. timestamp BIGINT NOT NULL,
  12. dc_edit_timestamp BIGINT NOT NULL,
  13. dc_thread_id TEXT NOT NULL,
  14. mxid TEXT NOT NULL UNIQUE,
  15. PRIMARY KEY (dcid, dc_attachment_id, dc_chan_id, dc_chan_receiver),
  16. CONSTRAINT message_portal_fkey FOREIGN KEY (dc_chan_id, dc_chan_receiver) REFERENCES portal (dcid, receiver) ON DELETE CASCADE
  17. );
  18. INSERT INTO message_new (dcid, dc_attachment_id, dc_chan_id, dc_chan_receiver, dc_sender, timestamp, dc_edit_timestamp, dc_thread_id, mxid)
  19. SELECT dcid, dc_attachment_id, dc_chan_id, dc_chan_receiver, dc_sender, timestamp, 0, dc_thread_id, mxid FROM message;
  20. DROP TABLE message;
  21. ALTER TABLE message_new RENAME TO message;
  22. CREATE TABLE reaction_new (
  23. dc_chan_id TEXT,
  24. dc_chan_receiver TEXT,
  25. dc_msg_id TEXT,
  26. dc_sender TEXT,
  27. dc_emoji_name TEXT,
  28. dc_thread_id TEXT NOT NULL,
  29. dc_first_attachment_id TEXT NOT NULL,
  30. mxid TEXT NOT NULL UNIQUE,
  31. PRIMARY KEY (dc_chan_id, dc_chan_receiver, dc_msg_id, dc_sender, dc_emoji_name),
  32. CONSTRAINT reaction_message_fkey FOREIGN KEY (dc_msg_id, dc_first_attachment_id, dc_chan_id, dc_chan_receiver) REFERENCES message (dcid, dc_attachment_id, dc_chan_id, dc_chan_receiver) ON DELETE CASCADE
  33. );
  34. INSERT INTO reaction_new (dc_chan_id, dc_chan_receiver, dc_msg_id, dc_sender, dc_emoji_name, dc_thread_id, dc_first_attachment_id, mxid)
  35. SELECT dc_chan_id, dc_chan_receiver, dc_msg_id, dc_sender, dc_emoji_name, COALESCE(dc_thread_id, ''), dc_first_attachment_id, mxid FROM reaction;
  36. DROP TABLE reaction;
  37. ALTER TABLE reaction_new RENAME TO reaction;
  38. PRAGMA foreign_key_check;
  39. COMMIT;
  40. PRAGMA foreign_keys = ON;