wiki.techinc.nl/maintenance/sqlite/archives/patch-watchlist-wl_title-varbinary.sql
Ammar Abdulhamid c8e8449caf Migrate watchlist table to Abstract schema
Postgres:
 - Set empty string as default for wl_title to match MySQL
 - Drop foreign key from wl_user
 - Change wl_namespace datatype from SMALLINT to INT to match MySQL/SQLite
 - Drop PG-specific indexes and sync them with MySQL

Bug: T230428
Bug: T164898
Change-Id: Ie996b81ca59069443976b90d7bcdce29997d768a
2020-10-22 15:12:00 +02:00

21 lines
No EOL
724 B
SQL

CREATE TABLE /*_*/watchlist_tmp (
wl_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
wl_user INTEGER UNSIGNED NOT NULL,
wl_namespace INTEGER DEFAULT 0 NOT NULL,
wl_title BLOB DEFAULT '' NOT NULL,
wl_notificationtimestamp BLOB DEFAULT NULL
);
INSERT INTO /*_*/watchlist_tmp
SELECT wl_id, wl_user, wl_namespace, wl_title, wl_notificationtimestamp
FROM /*_*/watchlist;
DROP TABLE /*_*/watchlist;
ALTER TABLE /*_*/watchlist_tmp RENAME TO /*_*/watchlist;
CREATE UNIQUE INDEX wl_user ON /*_*/watchlist (wl_user, wl_namespace, wl_title);
CREATE INDEX namespace_title ON /*_*/watchlist (wl_namespace, wl_title);
CREATE INDEX wl_user_notificationtimestamp ON /*_*/watchlist (
wl_user, wl_notificationtimestamp
);