GoHUB 项目主要提供的是 Web 服务, 且具备命令行功能
Web 服务功能会封装到子命令 serve 中,命令行功能会封装到子命令 cli 中。
除了 serve 命令,我们还会有以下命令
- key 命令生成 app key
- make 命令
- seed 数据填充
- migrate 数据库迁移
- cache 缓存处理
- 数据库迁移
数据库迁移
使用 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
-- 表结构
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;
迁移的命令如下:
- up —— 执行迁移
- rollback (down) —— 回滚上一步执行的迁移
- fresh —— 删除所有表,然后执行所有迁移
- reset —— 回滚所有迁移
- refresh —— 回滚所有迁移,然后再执行所有迁移
变更日志
本文件记录了本项目的所有重要变更。
[未发布]
⚙️ 辅助工具的变动
- 参数格式化(str 包)
- Changelog file
- Git-cliff generator changelog files
- Console 包
🐛 Bug 修复
- Fix typing error
- Fix automigrate charset for mysql
- Golangci-lint run fix
- Readme.md
- 删除测试的 testCommand
- Panic Recovery
- Import package update
💼 其他
📚 文档更新
📦 依赖更新
- Go get -u 升级依赖包版本
- 修改 redis 版本
🚀 新功能
- 话题更新接口
- 创建话题接口
- 话题模型和迁移
- 删除分类数据
- 分类列表
- (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