-- CREATE DATABASE serve; -- USE serve; -- 创建 schema(如果不存在) CREATE SCHEMA IF NOT EXISTS dev; -- 删除序列(如果存在) -- DROP SEQUENCE IF EXISTS dev.user_id_seq; -- 创建新序列 -- CREATE SEQUENCE dev.user_id_seq -- START WITH 1 -- INCREMENT BY 1 -- NO MINVALUE -- NO MAXVALUE -- CACHE 1; -- 添加注释 -- COMMENT ON SEQUENCE dev.user_seq IS '用户表ID序列'; DROP TABLE IF EXISTS dev.user; -- 在 dev schema 下创建用户表 CREATE TABLE dev.user ( id SERIAL PRIMARY KEY, account VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL, username VARCHAR(100) NOT NULL, role VARCHAR(20) NOT NULL DEFAULT 'user' CHECK ( role IN ('user','expert','admin') ), avatar TEXT, phone_number char(11), enable INT NOT NULL DEFAULT 1, delete_flag INT NOT NULL DEFAULT 0 ); -- 添加注释 COMMENT ON TABLE dev.user IS '用户表'; COMMENT ON COLUMN dev.user.id IS '用户ID,自增主键'; COMMENT ON COLUMN dev.user.account IS '账号,唯一'; COMMENT ON COLUMN dev.user.password IS '密码'; COMMENT ON COLUMN dev.user.username IS '用户名'; COMMENT ON COLUMN dev.user.role IS '角色'; COMMENT ON COLUMN dev.user.avatar IS '头像URL'; COMMENT ON COLUMN dev.user.phone_number IS '手机号码'; COMMENT ON COLUMN dev.user.enable IS '是否启用'; COMMENT ON COLUMN dev.user.delete_flag IS '删除标记'; -- 创建索引 CREATE INDEX idx_user_account ON dev.user(account); CREATE INDEX idx_user_role ON dev.user(role); CREATE INDEX idx_user_enable ON dev.user(enable); CREATE INDEX idx_user_delete_flag ON dev.user(delete_flag);