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

85 lines
2.4 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 "user" (
"id" int8 NOT NULL,
"username" varchar(255) NOT NULL ,
"avatar" varchar(255) NOT NULL ,
"status" int4 NOT NULL DEFAULT 1,
"last_login_time" timestamptz(6),
"create_time" timestamptz(6),
"update_time" timestamptz(6)
);
CREATE TABLE "user_oauth" (
"id" int8 NOT NULL,
"user_id" int8 NOT NULL,
"type" int4 NOT NULL,
"openid" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
"create_time" timestamptz(6) NOT NULL,
"update_time" timestamptz(6) NOT NULL
);
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 DATE 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
);
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
);