Skip to content

Commit dff7ce1

Browse files
奇淼(piexlmaxlyonnee
andauthored
sys_initdb_mysql/pgsql.go: 优化流程, 创建database前,如果dbname为空直接返回 (flipped-aurora#1134)
Co-authored-by: Lyon.Nee <lyon.nee@outlook.com>
1 parent 08d4b67 commit dff7ce1

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

server/service/system/sys_initdb_mysql.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ import (
44
"context"
55
"errors"
66
"fmt"
7+
"path/filepath"
8+
79
"github.com/flipped-aurora/gin-vue-admin/server/config"
810
"github.com/gookit/color"
9-
"path/filepath"
1011

1112
"github.com/flipped-aurora/gin-vue-admin/server/utils"
1213

@@ -44,17 +45,19 @@ func (h MysqlInitHandler) EnsureDB(ctx context.Context, conf *request.InitDB) (n
4445
if s, ok := ctx.Value("dbtype").(string); !ok || s != "mysql" {
4546
return ctx, ErrDBTypeMismatch
4647
}
47-
dsn := conf.MysqlEmptyDsn()
48-
createSql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS `%s` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;", conf.DBName)
49-
if err = createDatabase(dsn, "mysql", createSql); err != nil {
50-
return nil, err
51-
} // 创建数据库
5248

5349
c := conf.ToMysqlConfig()
5450
next = context.WithValue(ctx, "config", c)
5551
if c.Dbname == "" {
5652
return ctx, nil
5753
} // 如果没有数据库名, 则跳出初始化数据
54+
55+
dsn := conf.MysqlEmptyDsn()
56+
createSql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS `%s` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;", c.Dbname)
57+
if err = createDatabase(dsn, "mysql", createSql); err != nil {
58+
return nil, err
59+
} // 创建数据库
60+
5861
var db *gorm.DB
5962
if db, err = gorm.Open(mysql.New(mysql.Config{
6063
DSN: c.Dsn(), // DSN data source name

server/service/system/sys_initdb_pgsql.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ import (
44
"context"
55
"errors"
66
"fmt"
7+
"path/filepath"
8+
79
"github.com/flipped-aurora/gin-vue-admin/server/config"
810
"github.com/gookit/color"
9-
"path/filepath"
1011

1112
"github.com/flipped-aurora/gin-vue-admin/server/utils"
1213

@@ -44,17 +45,19 @@ func (h PgsqlInitHandler) EnsureDB(ctx context.Context, conf *request.InitDB) (n
4445
if s, ok := ctx.Value("dbtype").(string); !ok || s != "pgsql" {
4546
return ctx, ErrDBTypeMismatch
4647
}
47-
dsn := conf.PgsqlEmptyDsn()
48-
createSql := fmt.Sprintf("CREATE DATABASE %s;", conf.DBName)
49-
if err = createDatabase(dsn, "pgx", createSql); err != nil {
50-
return nil, err
51-
} // 创建数据库
5248

5349
c := conf.ToPgsqlConfig()
5450
next = context.WithValue(ctx, "config", c)
5551
if c.Dbname == "" {
5652
return ctx, nil
5753
} // 如果没有数据库名, 则跳出初始化数据
54+
55+
dsn := conf.PgsqlEmptyDsn()
56+
createSql := fmt.Sprintf("CREATE DATABASE %s;", c.Dbname)
57+
if err = createDatabase(dsn, "pgx", createSql); err != nil {
58+
return nil, err
59+
} // 创建数据库
60+
5861
var db *gorm.DB
5962
if db, err = gorm.Open(postgres.New(postgres.Config{
6063
DSN: c.Dsn(), // DSN data source name

0 commit comments

Comments
 (0)