Files
core/migrations/0005_tickets/up.sql

30 lines
1.1 KiB
SQL

CREATE TABLE IF NOT EXISTS tickets (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
source VARCHAR(64) NOT NULL,
external_id VARCHAR(255) NOT NULL,
title VARCHAR(512) NOT NULL,
status VARCHAR(64) NOT NULL,
opened_at TIMESTAMP NULL,
closed_at TIMESTAMP NULL,
url VARCHAR(512) NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
UNIQUE KEY uniq_tickets_source_external (source, external_id)
);
CREATE TABLE IF NOT EXISTS ticket_links (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
ticket_id BIGINT NOT NULL,
asset_id BIGINT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_ticket_links_ticket
FOREIGN KEY (ticket_id) REFERENCES tickets(id)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_ticket_links_asset
FOREIGN KEY (asset_id) REFERENCES assets(id)
ON DELETE CASCADE ON UPDATE CASCADE,
UNIQUE KEY uniq_ticket_links_ticket_asset (ticket_id, asset_id)
);
CREATE INDEX idx_ticket_links_asset ON ticket_links(asset_id, ticket_id);