postgersql.sql 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. -- CREATE DATABASE serve;
  2. -- USE serve;
  3. -- 创建 schema(如果不存在)
  4. CREATE SCHEMA IF NOT EXISTS dev;
  5. -- 删除序列(如果存在)
  6. -- DROP SEQUENCE IF EXISTS dev.user_id_seq;
  7. -- 创建新序列
  8. -- CREATE SEQUENCE dev.user_id_seq
  9. -- START WITH 1
  10. -- INCREMENT BY 1
  11. -- NO MINVALUE
  12. -- NO MAXVALUE
  13. -- CACHE 1;
  14. -- 添加注释
  15. -- COMMENT ON SEQUENCE dev.user_seq IS '用户表ID序列';
  16. DROP TABLE IF EXISTS dev.user;
  17. -- 在 dev schema 下创建用户表
  18. CREATE TABLE dev.user (
  19. id SERIAL PRIMARY KEY,
  20. account VARCHAR(50) NOT NULL UNIQUE,
  21. password VARCHAR(255) NOT NULL,
  22. username VARCHAR(100) NOT NULL,
  23. role VARCHAR(20) NOT NULL DEFAULT 'user',
  24. avatar TEXT,
  25. enable INT NOT NULL DEFAULT 1,
  26. delete_flag INT NOT NULL DEFAULT 0
  27. );
  28. -- 添加注释
  29. COMMENT ON TABLE dev.user IS '用户表';
  30. COMMENT ON COLUMN dev.user.id IS '用户ID,自增主键';
  31. COMMENT ON COLUMN dev.user.account IS '账号,唯一';
  32. COMMENT ON COLUMN dev.user.password IS '密码';
  33. COMMENT ON COLUMN dev.user.username IS '用户名';
  34. COMMENT ON COLUMN dev.user.role IS '角色';
  35. COMMENT ON COLUMN dev.user.avatar IS '头像URL';
  36. COMMENT ON COLUMN dev.user.enable IS '是否启用';
  37. COMMENT ON COLUMN dev.user.delete_flag IS '删除标记';
  38. -- 创建索引
  39. CREATE INDEX idx_user_account ON dev.user(account);
  40. CREATE INDEX idx_user_role ON dev.user(role);
  41. CREATE INDEX idx_user_enable ON dev.user(enable);
  42. CREATE INDEX idx_user_delete_flag ON dev.user(delete_flag);