- 将所有文件路径转换为 URL 友好格式,统一使用正斜杠,确保跨平台兼容 - 修改默认服务器监听端口为 :8989,提升默认配置适用性 - 数据库初始化时创建数据库文件夹,避免路径不存在导致错误 - 新增 AGENTS.md 文档,详细规范项目开发流程、代码风格、架构设计和安全性能指导 - 修正头像路径显示逻辑,确保头像 URL 正确展示 - 增加应用启动和开发的标准操作指南,提升团队协作效率
44 lines
700 B
Go
44 lines
700 B
Go
package repositories
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"lv8girl/internal/models"
|
|
|
|
"github.com/glebarez/sqlite"
|
|
"gorm.io/gorm"
|
|
"gorm.io/gorm/logger"
|
|
)
|
|
|
|
var DB *gorm.DB
|
|
|
|
func Init(databasePath string) error {
|
|
// 确保数据库文件所在目录存在
|
|
dir := filepath.Dir(databasePath)
|
|
if err := os.MkdirAll(dir, 0755); err != nil {
|
|
return err
|
|
}
|
|
|
|
var err error
|
|
DB, err = gorm.Open(sqlite.Open(databasePath), &gorm.Config{
|
|
Logger: logger.Default.LogMode(logger.Info),
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
err = DB.AutoMigrate(
|
|
&models.User{},
|
|
&models.Discussion{},
|
|
&models.Comment{},
|
|
&models.Like{},
|
|
&models.PrivateMessage{},
|
|
)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return nil
|
|
}
|