pbls/scripts/ddl/base_tables.sql
2026-09-30 19:30:47 +08:00

148 lines
6.8 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =====================================================================
-- 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;