models.go 824 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package model
  2. import (
  3. "gorm.io/driver/sqlite"
  4. "gorm.io/gorm"
  5. "gorm.io/gorm/logger"
  6. "log"
  7. "time"
  8. )
  9. var db *gorm.DB
  10. type Model struct {
  11. ID uint `gorm:"primarykey" json:"id"`
  12. CreatedAt time.Time `json:"created_at"`
  13. UpdatedAt time.Time `json:"updated_at"`
  14. DeletedAt *time.Time `gorm:"index" json:"deleted_at"`
  15. }
  16. func Init(dbPath string) {
  17. var err error
  18. db, err = gorm.Open(sqlite.Open(dbPath), &gorm.Config{
  19. Logger: logger.Default.LogMode(logger.Info),
  20. PrepareStmt: true,
  21. })
  22. log.Println("database.db")
  23. if err != nil {
  24. log.Println(err)
  25. }
  26. // Migrate the schema
  27. AutoMigrate(&ConfigBackup{})
  28. AutoMigrate(&Auth{})
  29. AutoMigrate(&AuthToken{})
  30. }
  31. func AutoMigrate(model interface{}) {
  32. err := db.AutoMigrate(model)
  33. if err != nil {
  34. log.Fatal(err)
  35. }
  36. }