32 lines
1.2 KiB
SQL
32 lines
1.2 KiB
SQL
-- v9: Make phone nullable for puppets
|
|
-- transaction: off
|
|
|
|
PRAGMA foreign_keys = OFF;
|
|
BEGIN TRANSACTION;
|
|
|
|
CREATE TABLE puppet_new (
|
|
id TEXT NOT NULL,
|
|
receiver BIGINT NOT NULL,
|
|
phone TEXT,
|
|
contact_id TEXT NOT NULL,
|
|
name TEXT NOT NULL,
|
|
name_set BOOLEAN NOT NULL DEFAULT false,
|
|
avatar_hash bytea CHECK ( LENGTH(avatar_hash) = 32 ),
|
|
avatar_update_ts BIGINT NOT NULL,
|
|
avatar_mxc TEXT NOT NULL,
|
|
avatar_set BOOLEAN NOT NULL DEFAULT false,
|
|
contact_info_set BOOLEAN NOT NULL DEFAULT false,
|
|
|
|
PRIMARY KEY (id, receiver),
|
|
CONSTRAINT puppet_user_fkey FOREIGN KEY (receiver) REFERENCES "user"(rowid) ON DELETE CASCADE,
|
|
CONSTRAINT puppet_phone_unique UNIQUE (phone, receiver)
|
|
);
|
|
INSERT INTO puppet_new (id, receiver, phone, contact_id, name, name_set, avatar_hash, avatar_update_ts, avatar_mxc, avatar_set, contact_info_set)
|
|
SELECT id, receiver, phone, contact_id, name, name_set, avatar_hash, avatar_update_ts, avatar_mxc, avatar_set, contact_info_set
|
|
FROM puppet;
|
|
DROP TABLE puppet;
|
|
ALTER TABLE puppet_new RENAME TO puppet;
|
|
|
|
PRAGMA foreign_key_check;
|
|
COMMIT;
|
|
PRAGMA FOREIGN_KEYS = ON;
|