feat add tenant users

This commit is contained in:
2025-12-16 11:20:40 +08:00
parent 28ab17324d
commit d058b7ffda
17 changed files with 1780 additions and 32 deletions

View File

@@ -0,0 +1,29 @@
-- +goose Up
-- +goose StatementBegin
CREATE TABLE IF NOT EXISTS tenants(
id bigserial PRIMARY KEY,
user_id bigint NOT NULL,
code varchar(64) NOT NULL,
uuid uuid NOT NULL,
name varchar(128) NOT NULL DEFAULT '',
status varchar(64) NOT NULL DEFAULT '',
config jsonb NOT NULL DEFAULT '{}'::jsonb,
expired_at timestamptz,
created_at timestamptz NOT NULL DEFAULT now(),
updated_at timestamptz NOT NULL DEFAULT now()
);
CREATE UNIQUE INDEX IF NOT EXISTS ux_tenants_code_lower ON tenants(lower(code));
CREATE UNIQUE INDEX IF NOT EXISTS ux_tenants_uuid ON tenants(uuid);
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP INDEX IF EXISTS ux_tenants_uuid;
DROP INDEX IF EXISTS ux_tenants_code_lower;
DROP TABLE IF EXISTS tenants;
-- +goose StatementEnd

View File

@@ -0,0 +1,20 @@
-- +goose Up
-- +goose StatementBegin
CREATE TABLE IF NOT EXISTS tenant_users(
id bigserial PRIMARY KEY,
tenant_id bigint NOT NULL,
user_id bigint NOT NULL,
role TEXT[] NOT NULL DEFAULT ARRAY['member'],
balance numeric(20, 8) NOT NULL DEFAULT 0,
status varchar(50) NOT NULL DEFAULT 'active',
created_at timestamptz NOT NULL DEFAULT NOW(),
updated_at timestamptz NOT NULL DEFAULT NOW(),
UNIQUE (tenant_id, user_id)
);
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP TABLE IF EXISTS tenant_users;
-- +goose StatementEnd