Files
geo/server/migrations/20260401180000_create_prompt_rules.up.sql
T

29 lines
1.2 KiB
SQL
Raw Normal View History

CREATE TABLE prompt_rule_groups (
id BIGSERIAL PRIMARY KEY,
tenant_id BIGINT NOT NULL REFERENCES tenants(id),
name VARCHAR(100) NOT NULL,
sort_order INT NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
deleted_at TIMESTAMPTZ
);
CREATE INDEX idx_prompt_rule_group_tenant ON prompt_rule_groups(tenant_id, sort_order);
CREATE TABLE prompt_rules (
id BIGSERIAL PRIMARY KEY,
tenant_id BIGINT NOT NULL REFERENCES tenants(id),
group_id BIGINT REFERENCES prompt_rule_groups(id),
name VARCHAR(100) NOT NULL,
prompt_content TEXT NOT NULL,
scene VARCHAR(50),
default_tone VARCHAR(30),
default_word_count INT,
status VARCHAR(20) NOT NULL DEFAULT 'enabled',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
deleted_at TIMESTAMPTZ
);
CREATE INDEX idx_prompt_rule_tenant ON prompt_rules(tenant_id, created_at DESC);
CREATE INDEX idx_prompt_rule_tenant_status ON prompt_rules(tenant_id, status) WHERE deleted_at IS NULL;
CREATE INDEX idx_prompt_rule_group ON prompt_rules(group_id) WHERE deleted_at IS NULL;