budget/scripts/create_table.sql
2023-05-23 19:31:13 +08:00

54 lines
1.2 KiB
SQL

-- 账户表
CREATE TABLE account (
a_id SERIAL PRIMARY KEY, --账户号
meta JSONB -- 元数据
);
-- {"name":"name",
-- "balance": 0.00,
-- “budget": [
-- {"time":"2022-02","value":20.32},
-- {"time":"2022-01","value":30.32}
-- ]
-- "discription":"something"}
-- 类别表
CREATE TABLE category (
c_id SERIAL PRIMARY KEY, -- 类别号
meta JSONB -- 元数据
);
-- {"name":"name",
-- "type":"in"/"out",
-- “budget": [
-- {"time":"2022-02","value":20.32},
-- {"time":"2022-01","value":30.32}
-- ]
-- "discription":"something"}
-- 流水表
CREATE TABLE transaction (
t_id SERIAL PRIMARY KEY, -- 流水号
c_id INTEGER REFERENCES category(c_id), -- 关联账户号
a_id INTEGER REFERENCES account(a_id), -- 关联类别号
meta JSONB -- 元数据
);
-- {"discription":"something",(可选)
-- "type":"in"/"out"/"transfer",
-- "transfer_dist":a_id,(可选)
-- "reimburse":{ (报销)
-- "finish": true,
-- "ref":t_id
-- }
-- "":"something"}
-- 转账表 记录转账信息
CREATE TABLE account_transaction(
at_id SERIAL PRIMARY KEY, -- 转账号
src INTEGER REFERENCES category(c_id), -- 源账户号
dst INTEGER REFERENCES category(c_id), -- 目的账户号
meta JSONB -- 元数据
);