/* eslint-disable */ /** * 多用户与角色:用户账号表。 * - role: 商务/销售 | 风控 | 管理层 | 系统管理员 * - password_hash: scrypt 派生(格式 salt:hash),不存明文 * - 默认账号由应用启动时 ensureSeedUsers 兜底创建(首次为空时) */ exports.up = (pgm) => { pgm.sql(` CREATE TABLE IF NOT EXISTS users ( id TEXT PRIMARY KEY, username TEXT NOT NULL UNIQUE, display_name TEXT, password_hash TEXT NOT NULL, role TEXT NOT NULL, active BOOLEAN NOT NULL DEFAULT true, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), updated_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX IF NOT EXISTS idx_users_role ON users(role); `); }; exports.down = (pgm) => { pgm.sql(`DROP TABLE IF EXISTS users;`); };