XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEServerManager

【Java】我的世界XFE服务器管理器

公开
关注 0 Fork 0 Star 0
UTF-8
CREATE TABLE IF NOT EXISTS trigger_groups (
    group_id TEXT PRIMARY KEY,
    name TEXT NOT NULL,
    description TEXT NOT NULL,
    enabled INTEGER NOT NULL CHECK (enabled IN (0, 1)),
    revision INTEGER NOT NULL,
    created_by TEXT NOT NULL,
    created_at INTEGER NOT NULL,
    updated_at INTEGER NOT NULL,
    migrated INTEGER NOT NULL DEFAULT 0 CHECK (migrated IN (0, 1))
);

CREATE TABLE IF NOT EXISTS trigger_definitions (
    trigger_id TEXT PRIMARY KEY,
    group_id TEXT NOT NULL REFERENCES trigger_groups(group_id) ON DELETE CASCADE,
    name TEXT NOT NULL,
    description TEXT NOT NULL,
    enabled INTEGER NOT NULL CHECK (enabled IN (0, 1)),
    mode TEXT NOT NULL CHECK (mode IN ('VISUAL', 'CODE')),
    event_json TEXT NOT NULL,
    condition_mode TEXT NOT NULL CHECK (condition_mode IN ('ALL', 'ANY')),
    conditions_json TEXT NOT NULL,
    actions_json TEXT NOT NULL,
    script TEXT NOT NULL,
    revision INTEGER NOT NULL,
    created_by TEXT NOT NULL,
    created_at INTEGER NOT NULL,
    updated_at INTEGER NOT NULL,
    migrated INTEGER NOT NULL DEFAULT 0 CHECK (migrated IN (0, 1))
);

CREATE INDEX IF NOT EXISTS trigger_definitions_group_idx
    ON trigger_definitions(group_id, updated_at DESC);

CREATE TABLE IF NOT EXISTS trigger_runtime_state (
    trigger_id TEXT NOT NULL REFERENCES trigger_definitions(trigger_id) ON DELETE CASCADE,
    state_key TEXT NOT NULL,
    state_value TEXT NOT NULL,
    updated_at INTEGER NOT NULL,
    PRIMARY KEY(trigger_id, state_key)
);

CREATE TABLE IF NOT EXISTS trigger_migrations (
    migration_key TEXT PRIMARY KEY,
    applied_at INTEGER NOT NULL
);