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 }