From f481f9526ed80cf705bd0f1478b509aa6f2c6c22 Mon Sep 17 00:00:00 2001 From: chenwj <654891551@qq.com> Date: Sun, 28 May 2023 15:54:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9docker-compose?= =?UTF-8?q?=E9=83=A8=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 ++ conf/db.ini | 2 +- src/models/init.go | 24 ++++++++++++++++++++++-- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index e826ea8..9957a10 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,6 +30,8 @@ COPY conf ./conf COPY --from=build /app/main /app/main +ENV GIN_ENV=production + EXPOSE 8000 ENTRYPOINT ["/app/main"] diff --git a/conf/db.ini b/conf/db.ini index f6a0349..5734e92 100644 --- a/conf/db.ini +++ b/conf/db.ini @@ -1,5 +1,5 @@ [mysql] -user = test +username = test password = 123456 host = 172.17.0.1 port = 3306 diff --git a/src/models/init.go b/src/models/init.go index f942c81..bef242b 100644 --- a/src/models/init.go +++ b/src/models/init.go @@ -2,16 +2,36 @@ package models import ( "fmt" + "log" + "os" "time" + + "github.com/go-ini/ini" + "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" - "gorm.io/driver/mysql" ) var DB *gorm.DB func init() { - dsn := "root:Chenweijia113!@(172.17.0.1:3306)/weixin?charset=utf8mb4&parseTime=True&loc=Local" + _, ok := os.LookupEnv("GIN_ENV") + var dsn string + if ok { + cfg, err := ini.Load("conf/db.ini") + if err != nil { + log.Fatalln(err) + } + mysql := cfg.Section("mysql") + username := mysql.Key("username").Value() + password := mysql.Key("password").Value() + host := mysql.Key("host").Value() + port, _ := mysql.Key("port").Int() + database := mysql.Key("database").Value() + dsn = fmt.Sprintf("%s:%s@(%s:%d)/%s?charset=utf8mb4&parseTime=True&loc=Local", username, password, host, port, database) + } else { + dsn = "root:123456@(127.0.0.1:3306)/weixin?charset=utf8mb4&parseTime=True&loc=Local" + } var err error DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil {