Files
geo/server/migrations/20260331100007_create_quota_reservations.up.sql
T

18 lines
804 B
SQL
Raw Normal View History

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(),
CONSTRAINT chk_quota_reservation_status
CHECK (status IN ('pending', 'confirmed', 'refunded', 'reset'))
);
CREATE INDEX idx_quota_reservation_tenant_status ON quota_reservations(tenant_id, status);