Files
workspace/code/allapp/allapp-go/db/schema.sql
T
2026-01-13 22:18:01 +08:00

82 lines
2.6 KiB
SQL

CREATE TABLE user_info (
id BIGINT PRIMARY KEY,
seq_no SERIAL, -- 自增
account VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
email VARCHAR(255) UNIQUE,
username VARCHAR(50),
gender INT DEFAULT 0,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
active_time TIMESTAMP,
last_login_time TIMESTAMP
);
CREATE TABLE money_record(
id BIGINT PRIMARY KEY,
category_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
amount NUMERIC(12,2) NOT NULL,
remark VARCHAR(255) DEFAULT '',
record_time timestamp NOT NULL,
create_time timestamp DEFAULT CURRENT_TIMESTAMP,
update_time timestamp DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE money_sys_category(
id BIGINT PRIMARY KEY ,
name VARCHAR(255) NOT NULL ,
icon VARCHAR(255) NOT NULL,
type INT NOT NULL DEFAULT 0 ,
sort_number INT NOT NULL DEFAULT 0,
create_time timestamp DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE money_user_category(
id BIGINT PRIMARY KEY ,
user_id BIGINT NOT NULL,
name VARCHAR(255) NOT NULL,
icon VARCHAR(255) NOT NULL,
type INT NOT NULL DEFAULT 0,
sort_number INT NOT NULL DEFAULT 0,
create_time timestamp DEFAULT CURRENT_TIMESTAMP
);
-- 共享空间表
CREATE TABLE space (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) DEFAULT '',
invite_code VARCHAR(30) NOT NULL,
create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- 注释
COMMENT ON TABLE space IS '共享空间(一个空间包含多个成员)';
COMMENT ON COLUMN space.id IS '空间ID';
COMMENT ON COLUMN space.name IS '空间名称';
COMMENT ON COLUMN space.invite_code IS '空间邀请码';
COMMENT ON COLUMN space.create_time IS '空间创建时间';
COMMENT ON COLUMN space.update_time IS '空间更新时间';
ALTER TABLE space
ADD CONSTRAINT space_invite_code_key UNIQUE (invite_code);
-- 空间成员表(每个用户只能加入一个空间)
CREATE TABLE space_user (
id BIGSERIAL PRIMARY KEY,
space_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
role INT NOT NULL DEFAULT 2,
join_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
-- 注释
COMMENT ON TABLE space_user IS '共享空间成员表';
COMMENT ON COLUMN space_user.id IS '主键ID';
COMMENT ON COLUMN space_user.space_id IS '所属空间ID';
COMMENT ON COLUMN space_user.user_id IS '用户ID(唯一,每用户只加入一个空间)';
COMMENT ON COLUMN space_user.role IS '成员角色:0创建者 1管理员 2普通';
COMMENT ON COLUMN space_user.join_time IS '加入空间时间';