Files
geo/server/migrations/20260401143000_harden_task_audit_tracking.up.sql
T
root b31d8d0096 feat(migrations): Harden task audit tracking and optimize article templates
- Added migration to harden task audit tracking by modifying audit_logs and related tables.
- Introduced operator_id to several tables for better tracking of actions.
- Updated article_templates with new prompt templates for various article types, enhancing content generation.
- Created prompt_rules and schedule_tasks tables to manage content generation rules and scheduling.
- Added foreign key constraints to articles for better data integrity.
2026-04-02 00:31:28 +08:00

50 lines
1.8 KiB
SQL

ALTER TABLE generation_tasks
ADD COLUMN operator_id BIGINT REFERENCES users(id);
ALTER TABLE template_assist_tasks
ADD COLUMN operator_id BIGINT REFERENCES users(id);
ALTER TABLE task_records
ADD COLUMN operator_id BIGINT REFERENCES users(id);
ALTER TABLE tenant_quota_ledgers
ADD COLUMN operator_id BIGINT REFERENCES users(id);
ALTER TABLE quota_reservations
ADD COLUMN operator_id BIGINT REFERENCES users(id),
ALTER COLUMN resource_id DROP NOT NULL;
ALTER TABLE audit_logs
ADD COLUMN resource_type VARCHAR(50),
ADD COLUMN resource_id BIGINT,
ADD COLUMN request_id VARCHAR(64),
ADD COLUMN error_message TEXT;
CREATE INDEX idx_generation_task_tenant_operator_created
ON generation_tasks(tenant_id, operator_id, created_at DESC);
CREATE INDEX idx_template_assist_tasks_tenant_operator_created
ON template_assist_tasks(tenant_id, operator_id, created_at DESC);
CREATE INDEX idx_task_record_tenant_operator_created
ON task_records(tenant_id, operator_id, created_at DESC);
CREATE INDEX idx_quota_ledgers_tenant_operator_created
ON tenant_quota_ledgers(tenant_id, operator_id, created_at DESC);
CREATE INDEX idx_quota_reservations_tenant_operator_created
ON quota_reservations(tenant_id, operator_id, created_at DESC);
CREATE INDEX idx_audit_tenant_operator_created
ON audit_logs(tenant_id, operator_id, created_at DESC);
DROP INDEX IF EXISTS uk_template_scope_key_version_active;
CREATE UNIQUE INDEX uk_template_platform_key_version_active
ON article_templates(scope, template_key, version_no)
WHERE deleted_at IS NULL AND tenant_id IS NULL;
CREATE UNIQUE INDEX uk_template_tenant_key_version_active
ON article_templates(scope, tenant_id, template_key, version_no)
WHERE deleted_at IS NULL AND tenant_id IS NOT NULL;