Files
qitongxue-api/sql/software_service.sql
2026-09-30 17:01:18 +08:00

48 lines
3.2 KiB
Go
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.
-- 软件开发服务域 + 附件管理 + 站点配置(迭代-2026-09-29)
--
-- 本文件仅作人工参考:启动时 logic.Migrate() 会幂等执行同样的 DDL(升级只需重启)。
-- 手工执行亦可(CREATE TABLE IF NOT EXISTS 可重复运行)。
-- 服务商品(软件开发服务:网站/小程序/App/桌面四系列)
CREATE TABLE IF NOT EXISTS `goods` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`category` tinyint NOT NULL DEFAULT 1 COMMENT '分类 1网站开发 2小程序开发 3App开发 4桌面程序开发',
`title` varchar(128) NOT NULL DEFAULT '' COMMENT '服务名称',
`summary` varchar(500) NOT NULL DEFAULT '' COMMENT '简介(列表卡片展示)',
`content_md` mediumtext COMMENT '详细说明 Markdown 原文,小程序端解析渲染',
`price_cents` bigint NOT NULL DEFAULT 0 COMMENT '定价(分),0=面议',
`price_note` varchar(64) NOT NULL DEFAULT '' COMMENT '价格备注(如「起」「/项目」)',
`cover_path` varchar(255) NOT NULL DEFAULT '' COMMENT '封面相对路径(/static/...),库内不存域名',
`sort` int NOT NULL DEFAULT 0 COMMENT '排序值,越小越靠前',
`is_enabled` tinyint NOT NULL DEFAULT 1 COMMENT '上架状态 0下架 1上架',
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL COMMENT '软删除时间,NULL=未删除',
PRIMARY KEY (`id`),
KEY `idx_cat_sort` (`is_enabled`,`category`,`sort`,`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='软件开发服务商品';
-- 上传附件登记(头像/封面/通用附件统一落账,供后台附件管理)
CREATE TABLE IF NOT EXISTS `attachments` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`scene` varchar(32) NOT NULL DEFAULT '' COMMENT '上传场景 avatar/cover/attachment',
`file_name` varchar(255) NOT NULL DEFAULT '' COMMENT '原始文件名',
`file_path` varchar(255) NOT NULL DEFAULT '' COMMENT '相对路径(/static/...),库内不存域名',
`ext` varchar(16) NOT NULL DEFAULT '' COMMENT '扩展名(小写含点)',
`size_bytes` bigint NOT NULL DEFAULT 0 COMMENT '文件大小(字节)',
`md5` char(32) NOT NULL DEFAULT '' COMMENT '内容 md5(落盘文件名)',
`uploader_id` bigint NOT NULL DEFAULT 0 COMMENT '上传者 id(管理端或用户)',
`uploader_type` varchar(16) NOT NULL DEFAULT 'admin' COMMENT '上传者类型 admin/user',
`created_at` datetime DEFAULT NULL COMMENT '上传日期',
`deleted_at` datetime DEFAULT NULL COMMENT '软删除时间,NULL=未删除(记录删除,文件本体按引用检查)',
PRIMARY KEY (`id`),
KEY `idx_created` (`created_at`),
KEY `idx_path` (`file_path`),
KEY `idx_scene` (`scene`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='上传附件登记(上传日期/上传者/大小,供后台附件管理)';
-- 站点配置:图片等静态资源的对外拼接前缀(种子缺则补;留空 = 按请求域名动态拼接)
-- INSERT INTO `settings` (`k`, `v`, `remark`, `updated_at`)
-- VALUES ('site.base_url', '', '图片等静态资源的对外拼接前缀(如 https://api.example.com),留空=按请求域名动态拼接', NOW())
-- ON DUPLICATE KEY UPDATE `k` = `k`;