16 lines
687 B
SQL
16 lines
687 B
SQL
|
|
CREATE TABLE quota_reservations (
|
||
|
|
id BIGSERIAL PRIMARY KEY,
|
||
|
|
tenant_id BIGINT NOT NULL REFERENCES tenants(id),
|
||
|
|
quota_type VARCHAR(50) NOT NULL,
|
||
|
|
resource_type VARCHAR(50) NOT NULL,
|
||
|
|
resource_id BIGINT NOT NULL,
|
||
|
|
reserved_amount INT NOT NULL,
|
||
|
|
consumed_amount INT NOT NULL DEFAULT 0,
|
||
|
|
refunded_amount INT NOT NULL DEFAULT 0,
|
||
|
|
status VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||
|
|
expire_at TIMESTAMPTZ NOT NULL,
|
||
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||
|
|
);
|
||
|
|
CREATE INDEX idx_quota_reservation_tenant_status ON quota_reservations(tenant_id, status);
|