-- ===================================================================== -- base_tables.sql —— 基座模块(appbase / rbac)表结构,由 scripts/gen_base_ddl.py -- 从各模块 models/*.json(单一真源)生成,禁止手工编辑本文件。 -- 方言: mariadb / utf8mb4 / utf8mb4_unicode_ci;全部 IF NOT EXISTS(幂等)。 -- 修复: Bug 4SxqQAulkH9eAzEys_h-e(up_login.dspy 500 —— users 表缺失) -- Bug 0CQZ7O6ftDRHbxih59upr(种子 4 项 0 行 —— 依赖 role/userrole 就位) -- ===================================================================== SET NAMES utf8mb4; -- [appbase] appcodes (源: /d/pipeline/pipeline-app/pkgs/appbase/models/appcodes.json) CREATE TABLE IF NOT EXISTS `appcodes` ( `id` VARCHAR(32) COMMENT 'id', `name` VARCHAR(255) COMMENT '编码名称', `hierarchy_flg` VARCHAR(1) COMMENT '多级标志', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [appbase] appcodes_kv (源: /d/pipeline/pipeline-app/pkgs/appbase/models/appcodes_kv.json) CREATE TABLE IF NOT EXISTS `appcodes_kv` ( `id` VARCHAR(32) COMMENT 'id', `parentid` VARCHAR(32) COMMENT '父id', `k` VARCHAR(32) COMMENT '键', `v` VARCHAR(255) COMMENT '值', PRIMARY KEY (`id`), UNIQUE KEY `idx_appcodes_kv_idx1` (`parentid`, `k`), KEY `idx_appcodes_kv_idx2` (`parentid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [appbase] params (源: /d/pipeline/pipeline-app/pkgs/appbase/models/params.json) CREATE TABLE IF NOT EXISTS `params` ( `id` VARCHAR(32) COMMENT 'id', `params_name` VARCHAR(255) COMMENT '参数名称', `params_value` VARCHAR(4000) COMMENT '参数值', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [appbase] svgicon (源: /d/pipeline/pipeline-app/pkgs/appbase/models/svgicon.json) CREATE TABLE IF NOT EXISTS `svgicon` ( `id` VARCHAR(32) COMMENT 'id', `icon` LONGTEXT COMMENT 'svg内容', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] audit_log (源: /d/pipeline/pipeline-app/pkgs/rbac/models/audit_log.json) CREATE TABLE IF NOT EXISTS `audit_log` ( `id` VARCHAR(32) COMMENT '用户id', `permid` VARCHAR(32) COMMENT '权限id', `userid` VARCHAR(32) COMMENT '用户id', `params_kw` TEXT COMMENT '调用参数', `exe_date` DATE COMMENT '调用日期', `exe_timestamp` TIMESTAMP NULL DEFAULT NULL COMMENT '调用时间戳', `remote_ip` VARCHAR(40) COMMENT '远程IP', PRIMARY KEY (`id`), KEY `idx_audit_log_idx1` (`permid`), KEY `idx_audit_log_idx2` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] organization (源: /d/pipeline/pipeline-app/pkgs/rbac/models/organization.json) CREATE TABLE IF NOT EXISTS `organization` ( `id` VARCHAR(32) COMMENT '机构编码', `orgname` VARCHAR(255) COMMENT '机构名称', `orgabbr` VARCHAR(100) COMMENT '机构简称', `alias_name` VARCHAR(255) COMMENT '机构别名', `contactor` VARCHAR(32) COMMENT '联系人', `contactor_phone` VARCHAR(100) COMMENT '联系人电话', `province_id` VARCHAR(32) COMMENT '所在省id', `city_id` VARCHAR(32) COMMENT '所在城市id', `distinct_id` VARCHAR(32) COMMENT '所在地区id', `emailaddress` VARCHAR(256) COMMENT '邮箱', `address` VARCHAR(400) COMMENT '地址', `main_business` VARCHAR(1000) COMMENT '主营业务描述', `orgcode` VARCHAR(100) COMMENT '组织结构代码', `license_img` VARCHAR(400) COMMENT '营业执照', `id_img` VARCHAR(400) COMMENT '身份证', `parentid` VARCHAR(32) COMMENT '父机构id', `org_type` VARCHAR(32) COMMENT '机构类型', `sitename` VARCHAR(300) COMMENT '网站域名', PRIMARY KEY (`id`), UNIQUE KEY `idx_organization_idx1` (`orgname`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] orgtypes (源: /d/pipeline/pipeline-app/pkgs/rbac/models/orgtypes.json) CREATE TABLE IF NOT EXISTS `orgtypes` ( `id` VARCHAR(32) COMMENT 'id', `orgid` VARCHAR(32) COMMENT '机构id', `orgtypeid` VARCHAR(32) COMMENT '机构类型', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] permission (源: /d/pipeline/pipeline-app/pkgs/rbac/models/permission.json) CREATE TABLE IF NOT EXISTS `permission` ( `id` VARCHAR(32) COMMENT '权限id', `name` VARCHAR(255) COMMENT '名称', `description` VARCHAR(255) COMMENT '描述', `parentid` VARCHAR(32) COMMENT '父权限id', `path` VARCHAR(255) COMMENT '路径', `icon` VARCHAR(255) COMMENT '图标', `permtype` VARCHAR(255) COMMENT '类型', `need_audit` VARCHAR(1) COMMENT '是否审计', PRIMARY KEY (`id`), UNIQUE KEY `idx_permission_idx1` (`path`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] role (源: /d/pipeline/pipeline-app/pkgs/rbac/models/role.json) CREATE TABLE IF NOT EXISTS `role` ( `id` VARCHAR(32) COMMENT '角色id', `orgtypeid` VARCHAR(32) DEFAULT '0' COMMENT '机构类型', `name` VARCHAR(100) COMMENT '角色名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] rolepermission (源: /d/pipeline/pipeline-app/pkgs/rbac/models/rolepermission.json) CREATE TABLE IF NOT EXISTS `rolepermission` ( `id` VARCHAR(32) COMMENT 'id', `roleid` VARCHAR(32) COMMENT '角色id', `permid` VARCHAR(32) COMMENT '权限id', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] userrole (源: /d/pipeline/pipeline-app/pkgs/rbac/models/userrole.json) CREATE TABLE IF NOT EXISTS `userrole` ( `id` VARCHAR(32) COMMENT '用户id', `userid` VARCHAR(32) COMMENT '用户id', `roleid` VARCHAR(32) COMMENT '角色id', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; -- [rbac] users (源: /d/pipeline/pipeline-app/pkgs/rbac/models/users.json) CREATE TABLE IF NOT EXISTS `users` ( `id` VARCHAR(32) COMMENT '用户id', `username` VARCHAR(255) COMMENT '用户名', `password` VARCHAR(255) COMMENT '密码', `email` VARCHAR(255) COMMENT '邮件地址', `orgid` VARCHAR(32) COMMENT '所属机构', `nick_name` VARCHAR(255) COMMENT '显示名', `address` VARCHAR(255) COMMENT '地址', `mobile` VARCHAR(255) COMMENT '手机', `user_status` VARCHAR(1) DEFAULT '0' COMMENT '用户状态', `created_at` DATE COMMENT '注册日期', `last_login` TIMESTAMP NULL DEFAULT NULL COMMENT '最后登录', `login_fail_count` SMALLINT DEFAULT '0' COMMENT '连续失败次数', `last_login_fail` TIMESTAMP NULL DEFAULT NULL COMMENT '最后登录失败时间', `sync_from` VARCHAR(32) COMMENT '同步应用id', PRIMARY KEY (`id`), KEY `idx_users_idx1` (`orgid`), UNIQUE KEY `idx_users_idx2` (`username`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;