2026-05-02 13:02:38 +08:00

44 lines
1.6 KiB
SQL

SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS hyapp_activity DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE hyapp_activity;
CREATE TABLE IF NOT EXISTS activities (
app_code VARCHAR(32) NOT NULL DEFAULT 'lalu',
activity_id VARCHAR(96) NOT NULL,
status VARCHAR(32) NOT NULL,
updated_at_ms BIGINT NOT NULL,
PRIMARY KEY (app_code, activity_id),
KEY idx_activities_status (app_code, status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS activity_event_consumption (
app_code VARCHAR(32) NOT NULL DEFAULT 'lalu',
event_id VARCHAR(96) NOT NULL,
event_type VARCHAR(96) NOT NULL,
source VARCHAR(64) NOT NULL,
status VARCHAR(32) NOT NULL,
failure_reason VARCHAR(255) NULL,
consumed_at_ms BIGINT NULL,
created_at_ms BIGINT NOT NULL,
updated_at_ms BIGINT NOT NULL,
PRIMARY KEY (app_code, event_id),
KEY idx_activity_event_consumption_status (app_code, status),
KEY idx_activity_event_consumption_updated_at (app_code, updated_at_ms)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS activity_outbox (
app_code VARCHAR(32) NOT NULL DEFAULT 'lalu',
outbox_id VARCHAR(96) NOT NULL,
event_type VARCHAR(96) NOT NULL,
payload BLOB NOT NULL,
status VARCHAR(32) NOT NULL,
retry_count INT NOT NULL DEFAULT 0,
next_retry_at_ms BIGINT NOT NULL,
created_at_ms BIGINT NOT NULL,
updated_at_ms BIGINT NOT NULL,
PRIMARY KEY (app_code, outbox_id),
KEY idx_activity_outbox_status_retry (app_code, status, next_retry_at_ms)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;