30 lines
1.1 KiB
SQL
30 lines
1.1 KiB
SQL
-- +goose Up
|
|
-- +goose StatementBegin
|
|
CREATE TABLE IF NOT EXISTS users(
|
|
id bigserial PRIMARY KEY,
|
|
created_at timestamptz NOT NULL DEFAULT NOW(),
|
|
updated_at timestamptz NOT NULL DEFAULT NOW(),
|
|
deleted_at timestamptz,
|
|
username varchar(255) NOT NULL UNIQUE,
|
|
password varchar(255) NOT NULL,
|
|
roles text[] NOT NULL DEFAULT ARRAY['user'],
|
|
status varchar(50) NOT NULL DEFAULT 'active',
|
|
metas jsonb NOT NULL DEFAULT '{}',
|
|
balance bigint NOT NULL DEFAULT 0,
|
|
balance_frozen bigint NOT NULL DEFAULT 0,
|
|
verified_at timestamptz
|
|
);
|
|
|
|
COMMENT ON COLUMN users.balance IS '全局可用余额:分/最小货币单位;用户在所有已加入租户内共享该余额;默认 0';
|
|
COMMENT ON COLUMN users.balance_frozen IS '全局冻结余额:分/最小货币单位;用于下单冻结等;默认 0';
|
|
|
|
CREATE INDEX IF NOT EXISTS ix_users_balance ON users(balance);
|
|
CREATE INDEX IF NOT EXISTS ix_users_balance_frozen ON users(balance_frozen);
|
|
|
|
-- +goose StatementEnd
|
|
-- +goose Down
|
|
-- +goose StatementBegin
|
|
DROP TABLE IF EXISTS users;
|
|
|
|
-- +goose StatementEnd
|