wiki.techinc.nl/maintenance/sqlite/archives/patch-user_table-updates.sql
Ammarpad c697406d3f Prepare for migrating user to abstract schema
Split off to make the migration patch smaller

Postgres:
 - Make user_touched not nullable

MySQL/SQlite
 - Change user_name from varchar to varbinary
 - Change user_name from varchar to varbinary
 - Drop empty string default from user_touched (Timestamp field)

Bug: T230428
Bug: T164898
Change-Id: I8fe0b1fb2af3149a2e2fdae7bb056ac6f863b09c
2021-03-28 09:55:07 +01:00

19 lines
No EOL
2.1 KiB
SQL

-- This file is automatically generated using maintenance/generateSchemaChangeSql.php.
-- Source: maintenance/abstractSchemaChanges/patch-user_table-updates.json
-- Do not modify this file directly.
-- See https://www.mediawiki.org/wiki/Manual:Schema_changes
DROP INDEX user_name;
DROP INDEX user_email_token;
DROP INDEX user_email;
CREATE TEMPORARY TABLE /*_*/__temp__user AS
SELECT user_id, user_name, user_real_name, user_password, user_newpassword, user_newpass_time, user_email, user_touched, user_token, user_email_authenticated, user_email_token, user_email_token_expires, user_registration, user_editcount, user_password_expires
FROM /*_*/user;
DROP TABLE /*_*/user;
CREATE TABLE /*_*/user ( user_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, user_password BLOB NOT NULL, user_newpassword BLOB NOT NULL, user_newpass_time BLOB DEFAULT NULL, user_email CLOB NOT NULL, user_token BLOB DEFAULT '' NOT NULL, user_email_authenticated BLOB DEFAULT NULL, user_email_token BLOB DEFAULT NULL, user_email_token_expires BLOB DEFAULT NULL, user_registration BLOB DEFAULT NULL, user_editcount INTEGER DEFAULT NULL, user_password_expires BLOB DEFAULT NULL, user_name BLOB DEFAULT '' NOT NULL, user_real_name BLOB DEFAULT '' NOT NULL, user_touched BLOB NOT NULL );
INSERT INTO /*_*/user ( user_id, user_name, user_real_name, user_password, user_newpassword, user_newpass_time, user_email, user_touched, user_token, user_email_authenticated, user_email_token, user_email_token_expires, user_registration, user_editcount, user_password_expires )
SELECT user_id, user_name, user_real_name, user_password, user_newpassword, user_newpass_time, user_email, user_touched, user_token, user_email_authenticated, user_email_token, user_email_token_expires, user_registration, user_editcount, user_password_expires
FROM /*_*/__temp__user;
DROP TABLE /*_*/__temp__user;
CREATE UNIQUE INDEX user_name ON /*_*/user (user_name);
CREATE INDEX user_email_token ON /*_*/user (user_email_token);
CREATE INDEX user_email ON /*_*/user (user_email);