Files
workspace/code/allapp/allapp-go/db/schema.sql
T
2026-02-28 17:02:35 +08:00

97 lines
3.2 KiB
SQL

create table "user"
(
id bigint not null
primary key,
nickname varchar(255) not null,
avatar varchar(255) not null,
status smallint default 0 not null,
last_login_time timestamp with time zone,
create_time timestamp with time zone default now(),
update_time timestamp with time zone default now()
);
create table user_oauth
(
id bigint not null
primary key,
user_id bigint not null,
type smallint default 0 not null,
openid varchar(255) not null,
create_time timestamp with time zone default now(),
update_time timestamp with time zone default now()
);
create table space
(
id bigint primary key,
-- 核心业务字段
name varchar(255) not null,
invite_code varchar(30) not null unique,
owner_id bigint not null,
-- 状态字段
status smallint default 0 not null, -- 0 active 1 disabled 2 dissolved
disabled_time timestamp with time zone,
dissolve_time timestamp with time zone,
-- 时间字段
create_time timestamp with time zone default now() not null,
update_time timestamp with time zone default now() not null
);
create table space_member
(
id bigint primary key,
-- 关系核心字段
space_id bigint not null,
user_id bigint not null,
-- 角色 & 默认
role smallint default 2 not null,
is_default smallint default 0 not null,
sort_number integer default 0 not null,
member_name varchar(255) not null,
-- 成员状态
status smallint default 0 not null, -- 0 active 1 disabled 2 exited
disabled_time timestamp with time zone,
exit_time timestamp with time zone,
-- 时间字段
join_time timestamp with time zone default now() not null,
update_time timestamp with time zone default now() not null,
unique (space_id, user_id)
);
create table finance_category_default
(
id bigint not null
primary key,
name varchar(64) not null,
icon varchar(64) not null,
type smallint default 0 not null,
sort_number integer default 0 not null,
create_time timestamp with time zone default now(),
update_time timestamp with time zone default now()
);
create table finance_category_space
(
id bigint not null
primary key,
space_id bigint not null,
name varchar(64) not null,
icon varchar(64) not null,
type smallint default 0 not null,
sort_number integer default 0 not null,
create_by bigint not null,
create_time timestamp with time zone default now(),
update_by bigint not null,
update_time timestamp with time zone default now()
);