wiki.techinc.nl/maintenance/sqlite/archives/patch-objectcache-exptime-notnull.sql
Ammar Abdulhamid 20d1849b53 Migrate objectcache to abstract schema
For Postgres:
 - Drop Unique constraint on `keyname` and make primary key
 - Change type of `value` from BYTEA to TEXT and drop its default
 - Make `value` nullable to sync with MySQL/SQLite

MySQL:
 - Change exptime from DATETIME to TIMESTAMP

MySQL/SQLite:
 - Make 'exptime' not nullable

Bug: T230428
Bug: T164898
Change-Id: Iab9de8a1bb2cb01b6e3e69e66f1bbe089d53d0a7
2021-01-20 13:50:28 +01:00

14 lines
431 B
SQL

CREATE TABLE /*_*/objectcache_tmp (
keyname BLOB DEFAULT '' NOT NULL,
value BLOB DEFAULT NULL,
exptime BLOB NOT NULL,
PRIMARY KEY(keyname)
) /*$wgDBTableOptions*/;
INSERT INTO /*_*/objectcache_tmp(keyname, value, exptime)
SELECT keyname, value, exptime FROM /*_*/objectcache;
DROP TABLE /*_*/objectcache;
ALTER TABLE /*_*/objectcache_tmp RENAME TO /*_*/objectcache;
CREATE INDEX exptime ON /*_*/objectcache (exptime);