mediawiki-extensions-Echo/db_patches/echo_push_subscription.sql
Michael Holloway 27a6a1fb00 Change echo_push_* column types from TEXT to BLOB
Per DBA review feedback, BLOB is more commonly used and may be
preferable.

Bug: T246716
Change-Id: I499d8c548088453d3182174f6f035977e8802240
2020-09-14 21:35:01 +00:00

26 lines
1.1 KiB
SQL

-- Stores push subscriptions associated with wiki users.
CREATE TABLE /*_*/echo_push_subscription (
eps_id INT UNSIGNED NOT NULL PRIMARY KEY auto_increment,
-- central user ID
eps_user INT UNSIGNED NOT NULL,
-- platform-provided push subscription token
eps_token BLOB NOT NULL,
-- SHA256 digest of the push subscription token (to be used as a uniqueness constraint, since
-- the tokens themselves may be large)
eps_token_sha256 CHAR(64) NOT NULL UNIQUE,
-- push provider ID, expected to reference values 'fcm' or 'apns'
eps_provider TINYINT UNSIGNED NOT NULL,
-- last updated timestamp
eps_updated TIMESTAMP NOT NULL,
-- push subscription metadata (e.g APNS notification topic)
eps_data BLOB,
-- APNS topic ID, references a row ID (ept_id) from echo_push_topic
eps_topic TINYINT UNSIGNED,
FOREIGN KEY (eps_provider) REFERENCES /*_*/echo_push_provider(epp_id),
FOREIGN KEY (eps_topic) REFERENCES /*_*/echo_push_topic(ept_id)
) /*$wgDBTableOptions*/;
CREATE INDEX /*i*/echo_push_subscription_user_id ON /*_*/echo_push_subscription (eps_user);
CREATE INDEX /*i*/echo_push_subscription_token ON /*_*/echo_push_subscription (eps_token(10));