Files
iqudo-top1/migrations/000007_public_sdk_access.up.sql
2026-08-18 16:27:02 +08:00

32 lines
1.4 KiB
SQL

ALTER TABLE scenarios
ADD COLUMN scenario_key VARCHAR(128) NULL AFTER tenant_id,
ADD COLUMN public_key VARCHAR(128) NULL AFTER scenario_key,
ADD COLUMN allowed_origins JSON NULL AFTER public_key;
UPDATE scenarios
SET scenario_key = CONCAT('scenario-', id),
public_key = CONCAT('pk_', REPLACE(UUID(), '-', '')),
allowed_origins = JSON_ARRAY();
ALTER TABLE scenarios
MODIFY scenario_key VARCHAR(128) NOT NULL,
MODIFY public_key VARCHAR(128) NOT NULL,
MODIFY allowed_origins JSON NOT NULL,
ADD UNIQUE KEY uk_scenarios_scenario_key (scenario_key),
ADD UNIQUE KEY uk_scenarios_public_key (public_key);
CREATE TABLE public_run_sessions (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
tenant_id BIGINT UNSIGNED NOT NULL,
run_id BIGINT UNSIGNED NOT NULL,
token_hash VARCHAR(64) NOT NULL,
expires_at DATETIME(3) NOT NULL,
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
PRIMARY KEY (id),
UNIQUE KEY uk_public_run_sessions_token (token_hash),
KEY idx_public_run_sessions_run (tenant_id, run_id),
CONSTRAINT fk_public_sessions_tenant FOREIGN KEY (tenant_id) REFERENCES tenants(id),
CONSTRAINT fk_public_sessions_run FOREIGN KEY (run_id) REFERENCES sop_runs(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;