colouring-montreal/migrations/009.user-deleted.up.sql
Maciej Ziarkowski 1901ebad42 Add user delete database migrations
Apart from adding the delete-related columns, this migration replaces
the existing unique constraint on the username with a unique index
which has a WHERE clause, so that deleted usernames need not be unique.
This is to avoid having to implement a special function for generating
unique IDs just to keep the deleted username unique and under 30 chars.
The deleted username can still use e.g. the initial part of the user_id
but the uniqueness is not required.
2019-08-16 11:12:18 +01:00

5 lines
302 B
SQL

ALTER TABLE users ADD COLUMN IF NOT EXISTS is_deleted boolean NOT NULL DEFAULT(false);
ALTER TABLE users ADD COLUMN IF NOT EXISTS deleted_on timestamp NULL;
ALTER TABLE users DROP CONSTRAINT IF EXISTS users_username_key;
CREATE UNIQUE INDEX users_username_idx ON users (username) WHERE NOT is_deleted;