代码拉取完成,页面将自动刷新
package lis
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/driver/postgres"
"gorm.io/driver/sqlite"
"gorm.io/driver/sqlserver"
"gorm.io/gorm"
)
// Connect 返回一个gorm.DB对象
func connect() (db *gorm.DB, err error) {
driver := config.Database.Driver
user := config.Database.User
pwd := config.Database.Password
ip := config.Database.IP
port := config.Database.Port
dbName := config.Database.DBName
var dsn string
switch driver {
case "sqlserver":
dsn = fmt.Sprintf("sqlserver://%s:%s@%s:%s?database=%s&encrypt=disable", user, pwd, ip, port, dbName)
db, err = gorm.Open(sqlserver.Open(dsn), &gorm.Config{})
case "mysql":
dsn = fmt.Sprintf("%s:%s@tcp(%s:%s)/dbname=%s", user, pwd, ip, port, dbName)
db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
case "postgresql":
dsn = fmt.Sprintf("host=%s user=%s password=%s dbname=%s port=%s", ip, user, pwd, dbName, port)
db, err = gorm.Open(postgres.Open(dsn), &gorm.Config{})
case "sqlite":
dsn = fmt.Sprintf("%s.db", dbName)
db, err = gorm.Open(sqlite.Open(dsn), &gorm.Config{})
// case "oracle":
// dsn = fmt.Sprintf("%s/%s@%s:%s/%s", user, pwd, ip, port, dbName)
// db, err = gorm.Open(oracle.Open(dsn), &gorm.Config{})
}
if dsn == "" {
err = fmt.Errorf("DB Driver Config Error: oracle sqlserver mysql sqlite postgresql are supported")
return
}
if err != nil {
err = fmt.Errorf("database link error: %v", err)
return
}
return
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。