48 lines
3.2 KiB
Go
48 lines
3.2 KiB
Go
-- 软件开发服务域 + 附件管理 + 站点配置(迭代-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`;
|