简介
快速开始
代码
package main
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"log"
"os"
"time"
)
type User struct {
UserId uint `gorm:"primarykey"`
// Name修改列名为:user_name;jdbctype为varchar(50);创建索引:索引名:idx_user_name;并且是唯一的;默认值为:番茄炒蛋
Name string `gorm:"column:user_name;type:varchar(50);index:idx_user_name;unique;default:'番茄炒蛋'"`
}
func main() {
// 连接对应的数据库
dsn := "root:root@tcp(192.168.193.128:3306)/grom_test?charset=utf8mb4&parseTime=True&loc=Local"
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, // 使用用彩色打印
},
)
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: newLogger})
if err != nil {
panic(err)
}
_ = db.AutoMigrate(&User{})
db.Create(&User{})
}
日志
CREATE TABLE `users` (`user_id` bigint unsigned AUTO_INCREMENT,`user_name` varchar(50) UNIQUE DEFAULT '番茄炒蛋',PRIMARY KEY (`user_id`),INDEX idx_user_name (`user_name`))
INSERT INTO `users` (`user_name`) VALUES ('番茄炒蛋')
结果