Files
modrinth/apps/labrinth/migrations/20260720105358_delphi_trace_rules.sql
T
2026-07-22 17:43:03 +01:00

35 lines
1.0 KiB
SQL

CREATE TABLE delphi_rules (
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
created_by BIGINT REFERENCES users(id)
ON DELETE SET NULL,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_by BIGINT REFERENCES users(id)
ON DELETE SET NULL,
name VARCHAR(256) NOT NULL,
rule VARCHAR(65536) NOT NULL,
revision BIGINT NOT NULL DEFAULT 0,
delete_on_next_revision BOOL NOT NULL DEFAULT FALSE
);
CREATE TABLE delphi_rule_revisions (
revision BIGINT PRIMARY KEY
);
INSERT INTO delphi_rule_revisions (revision)
VALUES (1);
CREATE TABLE delphi_rule_effects (
revision BIGINT NOT NULL,
detail_id BIGINT NOT NULL REFERENCES delphi_report_issue_details(id)
ON DELETE CASCADE
ON UPDATE CASCADE,
rule_id BIGINT NOT NULL REFERENCES delphi_rules(id)
ON UPDATE CASCADE,
severity delphi_severity,
hidden BOOLEAN NOT NULL DEFAULT FALSE,
PRIMARY KEY (revision, detail_id)
);
CREATE INDEX delphi_rule_effects_rule_id ON delphi_rule_effects(rule_id);