gorm 数据库链接,没有数据库就创建数据库正确用法

导入需要使用到的库,初始化的代码如下

func InitDB() *gorm.DB {

    newLogger := logger.New(
       log.New(os.Stdout, "\r\n", log.LstdFlags),
       logger.Config{
          SlowThreshold: time.Second, // 慢SQL阈值
          LogLevel:      logger.Info, // 级别
          Colorful:      true,
       },
    )

    hostname := "xxx"
    database := "xxx"
    user := "xxx"
    password := "xxx"
    dsn := fmt.Sprintf("%s:%s@tcp(%s)/", user, password, hostname)
    db, err := sql.Open("mysql", dsn)
    if err != nil {
       panic("failed to connect to MySQL server, err: " + err.Error())
    }
    // Step 2: Create the database (if it does not exist)
    _, err = db.Exec(fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s;", database))
    if err != nil {
       panic("failed to create database, err: " + err.Error())
    }
    // Don't forget to close the connection when you're done
    db.Close()
    // Step 3: Connect to the newly created database using Gorm
    dsn = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=True&loc=Local", user, password, hostname, database)
    gormDB, err := gorm.Open(mysql.Open(dsn), &gorm.Config{Logger: newLogger})
    if err != nil {
       panic("failed to connect to database, err: " + err.Error())
    }
    fmt.Println("Successfully connected to database", database)
    return gormDB
}
  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值