forked from fa/breadcrumb-the-shire
30 lines
1.9 KiB
SQL
30 lines
1.9 KiB
SQL
-- Security module: a security check instance (the "project").
|
|
-- Fixed 7-step process state + product-specific technical checklist state are
|
|
-- stored as JSON. tech_schema_snapshot_json freezes the template's checklist at
|
|
-- creation time so later template edits don't mutate in-flight checks.
|
|
CREATE TABLE IF NOT EXISTS `security_checks` (
|
|
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
`tenant_id` INT UNSIGNED NOT NULL,
|
|
`debitor_no` VARCHAR(30) NOT NULL DEFAULT '',
|
|
`debitor_name` VARCHAR(255) NOT NULL DEFAULT '',
|
|
`domain_no` VARCHAR(30) NOT NULL DEFAULT '',
|
|
`domain_url` VARCHAR(255) NOT NULL DEFAULT '',
|
|
`product_code` VARCHAR(60) NOT NULL DEFAULT '',
|
|
`product_name` VARCHAR(255) NOT NULL DEFAULT '',
|
|
`template_id` BIGINT UNSIGNED NULL DEFAULT NULL,
|
|
`owner_user_id` INT UNSIGNED NULL DEFAULT NULL,
|
|
`status` VARCHAR(20) NOT NULL DEFAULT 'open',
|
|
`process_state_json` TEXT NULL DEFAULT NULL,
|
|
`tech_schema_snapshot_json` TEXT NULL DEFAULT NULL,
|
|
`tech_state_json` TEXT NULL DEFAULT NULL,
|
|
`created_by` INT UNSIGNED NOT NULL,
|
|
`updated_by` INT UNSIGNED NULL DEFAULT NULL,
|
|
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (`id`),
|
|
KEY `idx_sc_tenant` (`tenant_id`),
|
|
KEY `idx_sc_tenant_status` (`tenant_id`, `status`),
|
|
KEY `idx_sc_tenant_debitor` (`tenant_id`, `debitor_no`),
|
|
KEY `idx_sc_tenant_product` (`tenant_id`, `product_code`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|