package sqlite import ( "fiction/db/model" "fmt" "gorm.io/driver/sqlite" "gorm.io/gorm" "gorm.io/gorm/logger" "log" "time" ) var DB *gorm.DB func Init(dsn string) error { fmt.Println("init SQLite") db, err := gorm.Open(sqlite.Open(dsn), &gorm.Config{ TranslateError: true, Logger: logger.New( log.New(log.Writer(), "\r\n", log.LstdFlags), logger.Config{ SlowThreshold: 10 * time.Millisecond, Colorful: true, LogLevel: logger.Info, }, ), }) if err != nil { return err } DB = db if err = initDB(); err != nil { return err } return nil } func initDB() error { tableArr := []interface{}{ &model.List{}, } for _, table := range tableArr { if err := DB.AutoMigrate(table); err != nil { return err } } return nil } func Stop() { }