54 lines
3.3 KiB
SQL
54 lines
3.3 KiB
SQL
-- pbl_compiler 表 DDL(自动生成,与 apps/pbls/scripts/ddl/pbls_tables.sql 同源)
|
||
CREATE TABLE IF NOT EXISTS `pbl_compiler_version` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`code` VARCHAR(64) NOT NULL COMMENT "版本编码",
|
||
`semver` VARCHAR(64) NOT NULL COMMENT "语义化版本",
|
||
`rules_hash` VARCHAR(32) NOT NULL COMMENT "规则集SHA256前缀",
|
||
`entrypoint` VARCHAR(64) NOT NULL COMMENT "入口函数",
|
||
`enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "启用",
|
||
`notes` TEXT NULL COMMENT "说明",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_cv_code` (`tenant_id`, `code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="编译器版本(29.6 确定性)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_game_definition` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`blueprint_id` BIGINT UNSIGNED NOT NULL COMMENT "来源蓝图",
|
||
`blueprint_version_no` INT NOT NULL DEFAULT 0 COMMENT "蓝图版本",
|
||
`compiler_version_id` BIGINT UNSIGNED NOT NULL COMMENT "编译版本",
|
||
`content_fingerprint` VARCHAR(32) NOT NULL COMMENT "SHA-256 指纹",
|
||
`definition_json` LONGTEXT NULL COMMENT "Game Definition 正文",
|
||
`world_id` BIGINT UNSIGNED NOT NULL COMMENT "落库 world",
|
||
`scene_id` BIGINT UNSIGNED NOT NULL COMMENT "落库 scene",
|
||
`entity_count` INT NOT NULL DEFAULT 0 COMMENT "实体数",
|
||
`event_count` INT NOT NULL DEFAULT 0 COMMENT "事件数",
|
||
`quality_state` VARCHAR(64) NOT NULL COMMENT "编译时质量状态",
|
||
`duration_ms` INT NOT NULL DEFAULT 0 COMMENT "耗时",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_gd_fp` (`tenant_id`, `content_fingerprint`),
|
||
KEY `idx_gd_bp` (`tenant_id`, `blueprint_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="Game Definition(第9章 schema + 指纹)";
|
||
|
||
CREATE TABLE IF NOT EXISTS `pbl_capability_registry` (
|
||
`tenant_id` VARCHAR(32) NOT NULL NOT NULL COMMENT 租户ID(强制打头),
|
||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键,
|
||
`capability_key` VARCHAR(64) NOT NULL COMMENT "能力键",
|
||
`category` VARCHAR(64) NOT NULL COMMENT "分类",
|
||
`args_schema_json` LONGTEXT NULL COMMENT "参数JSON Schema",
|
||
`permission_required` VARCHAR(64) NOT NULL COMMENT "所需权限",
|
||
`is_enabled` TINYINT(1) NOT NULL DEFAULT 0 COMMENT "启用",
|
||
`version_no` INT NOT NULL DEFAULT 0 COMMENT "版本",
|
||
`description` TEXT NULL COMMENT "说明",
|
||
`created_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "创建时间(应用层写入)",
|
||
`updated_at` DATETIME NOT NULL DEFAULT '1970-01-01 00:00:00' COMMENT "更新时间(应用层写入)",
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_cap_key` (`tenant_id`, `capability_key`, `version_no`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT="Capability Registry(第11章缺口补齐)";
|
||
|