# GoHUB 项目主要提供的是 Web 服务, 且具备命令行功能 Web 服务功能会封装到子命令 serve 中,命令行功能会封装到子命令 cli 中。 ## 除了 serve 命令,我们还会有以下命令 1. key 命令生成 app key 2. make 命令 3. seed 数据填充 4. migrate 数据库迁移 5. cache 缓存处理 6. 数据库迁移 ## 数据库迁移 使用 go-migrate 进行数据库迁移,支持多种数据库。 数据库迁移文件位于 database/migrations 目录下,文件名为 timestamp_xxx.up.sql 或 timestamp_xxx.down.sql。 timestamp 为时间戳, xxx 为迁移的名称, up 为执行迁移, down 为回滚迁移。 例如: 2024_04_17_150000_create_migrations_table.up.sql ```sql -- 表结构 CREATE TABLE `migrations` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `migration` varchar(255) NOT NULL, `batch` bigint DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `migration` (`migration`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4; ``` 迁移的命令如下: 1. up —— 执行迁移 2. rollback (down) —— 回滚上一步执行的迁移 3. fresh —— 删除所有表,然后执行所有迁移 4. reset —— 回滚所有迁移 5. refresh —— 回滚所有迁移,然后再执行所有迁移 ## 变更日志 本文件记录了本项目的所有重要变更。 ### [未发布] #### ⚙️ 辅助工具的变动 - 参数格式化(str 包) - Changelog file - Git-cliff generator changelog files - Console 包 #### 🐛 Bug 修复 - Fix format - Fix typing error - Fix automigrate charset for mysql - Golangci-lint run fix - Readme.md - 删除测试的 testCommand - Panic Recovery - Import package update #### 💼 其他 - 数据库迁移设计 - 更新 readme.md 文档 #### 📚 文档更新 - Add README 文档 #### 📦 依赖更新 - Go get -u 升级依赖包版本 - 修改 redis 版本 #### 🚀 新功能 - 上传头像 - 编辑个人资料 - 编辑个人资料 - *(Command)* Cache forget 命令 - *(Command)* Cache clear 命令 - 缓存友情链接列表 - Cache 包 - 友情链接列表 - 显示话题 - 话题列表 - 删除话题 - *(command)* Make policy 命令 - 授权策略 - 话题更新接口 - 创建话题接口 - 话题模型和迁移 - 删除分类数据 - 分类列表 - *(Command)* Seed 命令 - 更新分类 - 创建分类 - 模式模板添加分页功能 - 分页请求参数校验 - 用户列表分页 - Paginator 分页功能 - 用户列表 - *(command)* Make seed 命令 - *(command)* Make factory 命令 - Facotry 和 Faker - 当前用户接口 - 通过手机找回密码 - *(command)* Migrate fresh - *(command)* Migrate reset and migrate refresh - *(command)* Migrate rollback 命令 - *(command)* Make migration 命令 - *(command)* Migrate up 命令 - *(middlewares)* Cors 中间件 - Migrate 包 - *(command)* Make request 命令 - *(command)* Make apicontroller 命令 - 限流中间件 - 添加 make cmd 命令 \r\n例如: gohub make cmd testCommand - Play 命令,做调试使用 - Key 命令 - 命令行模式 - Guest 中间件 - 账号登陆 - 手机+短信验证码登陆 - Email+邮件验证码注册 - 使用 Redis - 数据库请求日志 - Panic Recovery - HTTP 访问日志 - Email 是否已注册接口 - 手机是否注册接口 #### 🚜 代码重构 - *(func)* 重命令方法 - *(doc)* Readme updated - 修改生成模板文件后缀名 - Gofmt -l -w -s package ### [0.1] - 2025-04-17