Files
youlai-boot/sql/app_icon.sql
tongtongstudio 4f4c60ce72 feat(device): 新增应用管理功能
新增应用启动、清除数据、卸载等远程操作功能,并优化应用列表接口支持图标展示。
同时修正了移动端上报接口的日志操作类型,补充了应用相关的操作枚举。
2026-08-05 16:38:57 +08:00

46 lines
2.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.
-- =============================================================================
-- 应用图标库表app_icon
--
-- 设计目标:
-- 1. 全局图标库同一应用包名package_name的所有设备共用图标按包名维度维护
-- 2. 历史版本同一包名可保存多个历史图标版本status 区分当前生效/历史),
-- 支持从历史版本中选取并锁定,规避三方 App 活动期换图标带广告等风险
-- 3. 锁定机制locked=1 的版本不可被设备端/管理端上传覆盖,需先解锁
-- 4. 内容指纹icon_md5 用于内容去重(同一图标不同包名复用同一文件)
--
-- 约定:
-- - 同一 package_name 下 status=1当前生效的记录有且仅有一条
-- - 历史版本status=0仅用于展示与选取锁定不物理删除
-- - 图标文件按 {md5}.{ext} 内容寻址存储,访问路径由后端拼接
--
-- 部署规范:不直连库,由 DBA 执行;先 DROP 再 CREATE 确保结构与实体完全一致
-- DROP 会清空历史图标数据,可由设备端重新上报补齐)。
-- =============================================================================
DROP TABLE IF EXISTS `app_icon`;
CREATE TABLE `app_icon`
(
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`package_name` VARCHAR(255) NOT NULL COMMENT '应用包名(全局唯一维度,同包名多版本共存)',
`icon_url` VARCHAR(500) NOT NULL COMMENT '图标访问地址(相对路径,如 /api/v1/device/app_icon/{md5}.png',
`icon_md5` VARCHAR(64) DEFAULT NULL COMMENT '图标文件MD5内容指纹用于去重与换图标检测',
`version` INT NOT NULL DEFAULT 1 COMMENT '版本号同包名内自增从1开始',
`status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态1当前生效 0历史版本',
`locked` TINYINT NOT NULL DEFAULT 0 COMMENT '是否锁定0未锁定 1已锁定锁定后不可上传覆盖',
`source` VARCHAR(20) NOT NULL DEFAULT 'device' COMMENT '图标来源device设备端上报 admin管理端上传',
`create_by` BIGINT DEFAULT NULL COMMENT '创建人ID',
`create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
`update_by` BIGINT DEFAULT NULL COMMENT '更新人ID',
`update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_package_version` (`package_name`, `version`),
KEY `idx_package_status` (`package_name`, `status`),
KEY `idx_md5` (`icon_md5`),
KEY `idx_is_deleted` (`is_deleted`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8mb4
COMMENT = '应用图标库(含历史版本)';