64 lines
2.3 KiB
SQL
64 lines
2.3 KiB
SQL
ALTER TABLE tenants
|
|
ADD COLUMN customer_type VARCHAR(20) NOT NULL DEFAULT 'unknown' AFTER name,
|
|
ADD KEY idx_tenants_customer_type (customer_type);
|
|
|
|
ALTER TABLE rate_limit_attempts
|
|
ADD KEY idx_rate_limit_attempts_created (created_at);
|
|
|
|
ALTER TABLE audit_log
|
|
ADD KEY idx_audit_log_created (created_at);
|
|
|
|
ALTER TABLE outbound_emails
|
|
ADD KEY idx_outbound_emails_created (created_at);
|
|
|
|
CREATE TABLE legal_acceptances (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
tenant_id INT NULL,
|
|
user_id INT NULL,
|
|
document_type VARCHAR(40) NOT NULL,
|
|
document_version VARCHAR(20) NOT NULL,
|
|
context VARCHAR(60) NOT NULL,
|
|
ip VARCHAR(45) NULL,
|
|
user_agent VARCHAR(500) NULL,
|
|
metadata_json TEXT NULL,
|
|
accepted_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
KEY idx_legal_acceptances_tenant (tenant_id, accepted_at),
|
|
KEY idx_legal_acceptances_user (user_id, accepted_at),
|
|
CONSTRAINT fk_legal_acceptances_tenant
|
|
FOREIGN KEY (tenant_id) REFERENCES tenants(id)
|
|
ON DELETE SET NULL,
|
|
CONSTRAINT fk_legal_acceptances_user
|
|
FOREIGN KEY (user_id) REFERENCES users(id)
|
|
ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
CREATE TABLE legal_requests (
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
reference_code VARCHAR(40) NOT NULL,
|
|
access_token_hash CHAR(64) NOT NULL,
|
|
request_type VARCHAR(30) NOT NULL,
|
|
tenant_id INT NULL,
|
|
user_id INT NULL,
|
|
requester_name VARCHAR(255) NOT NULL,
|
|
requester_email VARCHAR(255) NOT NULL,
|
|
contract_reference VARCHAR(255) NOT NULL,
|
|
request_reason TEXT NULL,
|
|
requested_end VARCHAR(40) NULL,
|
|
status VARCHAR(30) NOT NULL DEFAULT 'received',
|
|
ip VARCHAR(45) NULL,
|
|
user_agent VARCHAR(500) NULL,
|
|
metadata_json TEXT NULL,
|
|
received_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
processed_at DATETIME NULL,
|
|
UNIQUE KEY uq_legal_requests_reference (reference_code),
|
|
UNIQUE KEY uq_legal_requests_access_token (access_token_hash),
|
|
KEY idx_legal_requests_tenant (tenant_id, received_at),
|
|
KEY idx_legal_requests_type_status (request_type, status, received_at),
|
|
CONSTRAINT fk_legal_requests_tenant
|
|
FOREIGN KEY (tenant_id) REFERENCES tenants(id)
|
|
ON DELETE SET NULL,
|
|
CONSTRAINT fk_legal_requests_user
|
|
FOREIGN KEY (user_id) REFERENCES users(id)
|
|
ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|