DROP INDEX IF EXISTS idx_users_name_trgm_active;
DROP INDEX IF EXISTS idx_users_phone_trgm_active;
DROP INDEX IF EXISTS idx_users_email_trgm_active;
DROP INDEX IF EXISTS idx_users_status_created_at;
DROP INDEX IF EXISTS uk_users_phone_active;

UPDATE users
SET email = 'user-' || id || '@rollback.local'
WHERE email IS NULL;

UPDATE users
SET name = COALESCE(NULLIF(phone, ''), email, 'user-' || id)
WHERE name IS NULL;

ALTER TABLE users
    ALTER COLUMN email SET NOT NULL,
    ALTER COLUMN phone DROP NOT NULL,
    ALTER COLUMN name SET NOT NULL;

DROP INDEX IF EXISTS uk_users_email_active;

CREATE UNIQUE INDEX uk_users_email_active
    ON users(email)
    WHERE deleted_at IS NULL;
