2021-11-30-store-last-read-state.go 626 B

12345678910111213141516171819202122
  1. package upgrades
  2. import (
  3. "database/sql"
  4. )
  5. func init() {
  6. upgrades[30] = upgrade{"Store last read message timestamp in database", func(tx *sql.Tx, ctx context) error {
  7. _, err := tx.Exec(`CREATE TABLE user_portal (
  8. user_mxid TEXT,
  9. portal_jid TEXT,
  10. portal_receiver TEXT,
  11. last_read_ts BIGINT NOT NULL DEFAULT 0,
  12. PRIMARY KEY (user_mxid, portal_jid, portal_receiver),
  13. FOREIGN KEY (user_mxid) REFERENCES "user"(mxid) ON DELETE CASCADE ON UPDATE CASCADE,
  14. FOREIGN KEY (portal_jid, portal_receiver) REFERENCES portal(jid, receiver) ON DELETE CASCADE ON UPDATE CASCADE
  15. )`)
  16. return err
  17. }}
  18. }