-- =====================================================================================
-- Schema: public.ak_users
-- Version: v1
-- Purpose: 修复 auth.users -> ak_users 自动同步的写入协调问题
-- Change: 放宽 username 和 email 的 NOT NULL 约束，以允许数据库触发器成功插入新用户记录。
--         同时，将 role 的默认值更新为 'customer' 以符合业务逻辑。
-- =====================================================================================

BEGIN;

-- 步骤 1 & 2: 允许 username/email 为空，并更新 role 默认值
-- 这样数据库的自动用户同步触发器就不会因为缺少 NOT NULL 的值而失败。
-- 前端代码 (ensureUserProfile) 会在用户首次登录时尝试填充这些值。
ALTER TABLE public.ak_users
  ALTER COLUMN username DROP NOT NULL,
  ALTER COLUMN email DROP NOT NULL,
  ALTER COLUMN role SET DEFAULT 'customer';

COMMIT;
