164 lines
10 KiB
SQL
164 lines
10 KiB
SQL
CREATE DATABASE IF NOT EXISTS scense DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||
USE scense;
|
||
CREATE TABLE IF NOT EXISTS world (id BIGINT NOT NULL AUTO_INCREMENT COMMENT '世界ID', code VARCHAR(64) NOT NULL, name VARCHAR(128) NOT NULL, status VARCHAR(16) NOT NULL DEFAULT 'active', description VARCHAR(512) DEFAULT NULL, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_world_code (code)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='世界';
|
||
CREATE TABLE IF NOT EXISTS scene (id BIGINT NOT NULL AUTO_INCREMENT, world_id BIGINT NOT NULL, code VARCHAR(64) NOT NULL, name VARCHAR(128) NOT NULL, scene_type VARCHAR(32) DEFAULT 'normal', status VARCHAR(16) NOT NULL DEFAULT 'active', config_json TEXT, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_scene_code (code), KEY idx_scene_world (world_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='场景';
|
||
CREATE TABLE IF NOT EXISTS entity (id BIGINT NOT NULL AUTO_INCREMENT, scene_id BIGINT NOT NULL, entity_type VARCHAR(32) NOT NULL, name VARCHAR(128) NOT NULL, attrs_json TEXT, status VARCHAR(16) NOT NULL DEFAULT 'active', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_entity_scene (scene_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='实体';
|
||
CREATE TABLE IF NOT EXISTS script_engine (id BIGINT NOT NULL AUTO_INCREMENT, name VARCHAR(128) NOT NULL, script_type VARCHAR(32) NOT NULL DEFAULT 'lua', content MEDIUMTEXT, status VARCHAR(16) NOT NULL DEFAULT 'active', created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), UNIQUE KEY uk_script_name (name)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='脚本引擎';
|
||
CREATE TABLE IF NOT EXISTS world_snapshot (id BIGINT NOT NULL AUTO_INCREMENT, world_id BIGINT NOT NULL, version INT NOT NULL DEFAULT 1, snapshot_json LONGTEXT, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_snapshot_world (world_id, version)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='世界快照';
|
||
CREATE TABLE IF NOT EXISTS world_sync (id BIGINT NOT NULL AUTO_INCREMENT, world_id BIGINT NOT NULL, sync_type VARCHAR(32) NOT NULL, status VARCHAR(16) NOT NULL DEFAULT 'pending', payload_json TEXT, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_sync_world (world_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='世界同步';
|
||
|
||
-- ========== 基础框架表(rbac/appbase 单库模式,全新库需先建)==========
|
||
/*M!999999\- enable the sandbox mode */
|
||
|
||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||
/*!40101 SET NAMES utf8mb4 */;
|
||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||
/*!40103 SET TIME_ZONE='+00:00' */;
|
||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `users` (
|
||
`id` varchar(32) NOT NULL COMMENT '用户id',
|
||
`username` varchar(255) DEFAULT NULL COMMENT '用户名',
|
||
`password` varchar(255) DEFAULT NULL COMMENT '密码',
|
||
`email` varchar(255) DEFAULT NULL COMMENT '邮件地址',
|
||
`orgid` varchar(32) DEFAULT NULL COMMENT '所属机构',
|
||
`nick_name` varchar(255) DEFAULT NULL COMMENT '显示名',
|
||
`address` varchar(255) DEFAULT NULL COMMENT '地址',
|
||
`mobile` varchar(255) DEFAULT NULL COMMENT '手机',
|
||
`user_status` varchar(1) DEFAULT '0' COMMENT '用户状态',
|
||
`created_at` date DEFAULT NULL COMMENT '注册日期',
|
||
`last_login` timestamp NULL DEFAULT NULL COMMENT '最后登录时间',
|
||
`login_fail_count` smallint(6) NOT NULL DEFAULT 0 COMMENT '连续登录失败次数',
|
||
`last_login_fail` timestamp NULL DEFAULT NULL COMMENT '最后登录失败时间',
|
||
`sync_from` varchar(32) DEFAULT NULL COMMENT '同步应用id',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `users_idx2` (`username`),
|
||
KEY `users_idx1` (`orgid`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `organization` (
|
||
`id` varchar(32) NOT NULL COMMENT '机构编码',
|
||
`orgname` varchar(100) DEFAULT NULL COMMENT '机构名称',
|
||
`alias_name` varchar(100) DEFAULT NULL COMMENT '机构别名',
|
||
`contactor` varchar(32) DEFAULT NULL COMMENT '联系人',
|
||
`contactor_phone` varchar(100) DEFAULT NULL COMMENT '联系人电话',
|
||
`province_id` varchar(32) DEFAULT NULL COMMENT '所在省id',
|
||
`city_id` varchar(32) DEFAULT NULL COMMENT '所在城市id',
|
||
`distinct_id` varchar(32) DEFAULT NULL COMMENT '所在地区id',
|
||
`emailaddress` varchar(256) DEFAULT NULL COMMENT '邮箱',
|
||
`address` varchar(400) DEFAULT NULL COMMENT '地址',
|
||
`main_business` varchar(1000) DEFAULT NULL COMMENT '主营业务描述',
|
||
`orgcode` varchar(100) DEFAULT NULL COMMENT '组织结构代码',
|
||
`license_img` varchar(400) DEFAULT NULL COMMENT '营业执照',
|
||
`id_img` varchar(400) DEFAULT NULL COMMENT '身份证',
|
||
`parentid` varchar(32) DEFAULT NULL COMMENT '父机构id',
|
||
`org_type` varchar(32) DEFAULT NULL COMMENT '机构类型',
|
||
`accountid` varchar(32) DEFAULT NULL COMMENT '账号',
|
||
`del_flg` varchar(1) DEFAULT '0' COMMENT '删除标志',
|
||
`create_at` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '创建时间戳',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='机构';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `orgtypes` (
|
||
`id` varchar(32) NOT NULL COMMENT 'id',
|
||
`orgid` varchar(32) DEFAULT NULL COMMENT '机构id',
|
||
`orgtypeid` varchar(32) DEFAULT NULL COMMENT '机构类型',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='机构拥有角色';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `org_roles` (
|
||
`id` varchar(32) NOT NULL COMMENT 'id',
|
||
`orgid` varchar(32) DEFAULT NULL COMMENT '机构编码',
|
||
`roleid` varchar(32) DEFAULT NULL COMMENT '角色编码',
|
||
`del_flg` varchar(1) DEFAULT '0' COMMENT '删除标志',
|
||
`create_at` timestamp NOT NULL DEFAULT current_timestamp() COMMENT '创建时间戳',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='机构角色';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `role` (
|
||
`id` varchar(32) NOT NULL COMMENT '角色id',
|
||
`orgtypeid` varchar(32) DEFAULT '0' COMMENT '机构类型',
|
||
`role` varchar(100) DEFAULT NULL COMMENT '角色',
|
||
`rolelabel` varchar(100) DEFAULT NULL COMMENT '角色名称',
|
||
`name` varchar(100) DEFAULT NULL,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `role_idx1` (`orgtypeid`,`role`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT=' 角色';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `rolepermission` (
|
||
`id` varchar(32) NOT NULL COMMENT 'id',
|
||
`roleid` varchar(32) DEFAULT NULL COMMENT '角色id',
|
||
`permid` varchar(32) DEFAULT NULL COMMENT '权限id',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色权限表';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `userrole` (
|
||
`id` varchar(32) NOT NULL COMMENT '用户id',
|
||
`userid` varchar(32) DEFAULT NULL COMMENT '用户id',
|
||
`roleid` varchar(32) DEFAULT NULL COMMENT '角色id',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户角色';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `permission` (
|
||
`id` varchar(32) NOT NULL COMMENT '权限id',
|
||
`name` varchar(255) DEFAULT NULL COMMENT '名称',
|
||
`description` varchar(255) DEFAULT NULL COMMENT '描述',
|
||
`ptype` varchar(20) DEFAULT NULL COMMENT '类型',
|
||
`parentid` varchar(32) DEFAULT NULL COMMENT '父权限id',
|
||
`path` varchar(255) DEFAULT NULL COMMENT '路径',
|
||
`title` varchar(255) DEFAULT NULL COMMENT '标题',
|
||
`icon` varchar(255) DEFAULT NULL COMMENT '图标',
|
||
PRIMARY KEY (`id`),
|
||
KEY `permission_idx1` (`ptype`),
|
||
KEY `permission_idx2` (`parentid`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='权限';
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
|
||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||
/*!40101 SET character_set_client = utf8mb4 */;
|
||
CREATE TABLE IF NOT EXISTS `params` (
|
||
`id` varchar(32) NOT NULL,
|
||
`params_name` varchar(255) NOT NULL,
|
||
`params_value` varchar(4000) DEFAULT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
|
||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
|
||
|
||
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||
|