如何重置数据库

重置的办法就是将表格删除之后再执行 Migrate 操作。可以封装为一个函数统一进行删除操作

package main
 
import (
    "gorm.io/driver/mysql"
    "gorm.io/gorm"
)
 
type User struct {
    ID   uint
    Name string
}
 
func main() {
    dsn := "user:password@tcp(localhost:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        panic("failed to connect database")
    }
 
    // 删除表
    db.Migrator().DropTable(&User{})
 
    // 重新创建表
    err = db.AutoMigrate(&User{})
    if err != nil {
        panic("failed to migrate database")
    }
 
    // 关闭数据库连接
    db.Close()
}