1、自动迁移(AutoMigrate)


package main

import (
    "gorm.io/driver/mysql"
    "gorm.io/gorm"
    "gorm.io/gorm/logger"
    "log"
    "os"
    "time"
)

type table1 struct {
    gorm.Model
    Name string
    Age uint
}

func main() {
    // 初始化日志
    newLogger := logger.New(
        log.New(os.Stdout, "\r\n", log.LstdFlags), // io writer(日志输出的目标,前缀和日志包含的内容——译者注)
        logger.Config{
            SlowThreshold: time.Second,   // 慢 SQL 阈值
            LogLevel:      logger.Info, // 日志级别
            IgnoreRecordNotFoundError: true,   // 忽略ErrRecordNotFound(记录未找到)错误
            Colorful:      true,         // 禁用彩色打印
        },
    )

    // 数据库配置信息
    dsn := "root:root@tcp(127.0.0.1:3306)/gorm?charset=utf8mb4&parseTime=True&loc=Local"

    // 建立数据库链接
    db, _ := gorm.Open(mysql.Open(dsn), &gorm.Config{
        Logger: newLogger,
    })

    // 开始做自动迁移
    _ = db.AutoMigrate(&table1{})
}

打印的日志信息

生成的数据表