- 将管理员文章路由从 Article 方法改为 Index 方法 - 在 ArticleController 中实现 Index 方法,支持预加载文章分类数据并返回 JSON - 添加 ArticleCate 模型及对应数据表映射 - 扩展 Article 模型,关联 ArticleCate,实现文章与分类的关联查询 - 新增 Nav 模型及 NavController,提供导航数据接口 - 修改用户模型添加 JSON 标签,规范字段序列化 - 扩展数据库自动迁移,新增 Article、Nav 和 ArticleCate 表的自动创建功能
31 lines
621 B
Go
31 lines
621 B
Go
package model
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
var DB *gorm.DB
|
|
var err error
|
|
|
|
func init() {
|
|
// 参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 获取详情
|
|
dsn := "db:g1VYgyrRzfd06M@tcp(127.0.0.1:3306)/db?charset=utf8mb4&parseTime=True&loc=Local"
|
|
DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
|
|
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
|
|
// 自动创建所有不存在的表
|
|
err = DB.AutoMigrate(&User{}, &Article{}, &Nav{}, &ArticleCate{})
|
|
if err != nil {
|
|
fmt.Println("数据表迁移失败:", err)
|
|
} else {
|
|
fmt.Println("数据表迁移成功")
|
|
}
|
|
}
|