CREATE TABLE IF NOT EXISTS users ( id TEXT NOT NULL PRIMARY KEY, username TEXT NOT NULL UNIQUE, email TEXT NULL UNIQUE, password_hash TEXT NOT NULL, role TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'active', created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX IF NOT EXISTS idx_users_role_status ON users(role, status);