代码拉取完成,页面将自动刷新
go get gopkg.in/yaml.v2
安装 yaml依赖config
mysql 和 日志 和 系统配置go get github.com/sirupsen/logrus
日志系统go get -u github.com/gin-gonic/gin
框架package flag
import sys_flag "flag"
type Option struct {
DB bool
}
// Parse 解析命令行参数
func Parse() Option {
db := sys_flag.Bool("db", false, "初始化数据库")
// 解析命令行参数写入注册的flag里
sys_flag.Parse()
return Option{
DB: *db,
}
}
// IsWebStop 是否停止 web 项目
func IsWebStop(option Option) bool {
if option.DB {
return true
}
return false
}
// SwitchOption 根据命令执行不同的函数
func SwitchOption(option Option) {
if option.DB {
MakeMigrations()
}
}
package flag
import (
"gin_study_blog/common"
"gin_study_blog/models"
)
// MakeMigrations models开头的都是建的模型文件,统一引用到这个文件执行
func MakeMigrations() {
var err error
common.DB.SetupJoinTable(&models.UserModel{}, "CollectsModels", &models.UserCollectsModel{})
common.DB.SetupJoinTable(&models.MenuModel{}, "Banners", &models.MenuBannerModel{})
// 生成表的表结构
err = common.DB.Set("gorm:table_options", "ENGINE=InnoDB").
AutoMigrate(
&models.BannerModel{},
&models.TagModel{},
&models.MessageModel{},
&models.AdvertModel{},
&models.UserModel{},
&models.CommentModel{},
&models.ArticleModel{},
&models.MenuModel{},
&models.MenuBannerModel{},
&models.FeedBackModel{},
&models.LoginDataModel{},
)
if err != nil {
common.Log.Error("生成数据库表结构失败")
return
}
common.Log.Info("生成数据库表结构成功")
}
go run main.go -db
就可以迁移到数据库了go install github.com/cosmtrek/air@latest
安装成功后再命令行输入 air 就可以了, 修改代码后鼠标点击命令行就可以自动更新了, 如果不需要更新一些文件就是用 air init
会生成一个文件exclude_dir
配置不需要更新的目录go get -u github.com/golang-jwt/jwt/v5
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。