diff --git a/server/model/system/request/sys_init.go b/server/model/system/request/sys_init.go index 6882895d2..d04b1d249 100644 --- a/server/model/system/request/sys_init.go +++ b/server/model/system/request/sys_init.go @@ -15,6 +15,7 @@ type InitDB struct { Password string `json:"password"` // 数据库密码 DBName string `json:"dbName" binding:"required"` // 数据库名 DBPath string `json:"dbPath"` // sqlite数据库文件路径 + Template string `json:"template"` // postgresql指定template } // MysqlEmptyDsn msyql 空数据库 建库链接 diff --git a/server/service/system/sys_initdb_pgsql.go b/server/service/system/sys_initdb_pgsql.go index f1a482f0c..468fadd37 100644 --- a/server/service/system/sys_initdb_pgsql.go +++ b/server/service/system/sys_initdb_pgsql.go @@ -54,7 +54,12 @@ func (h PgsqlInitHandler) EnsureDB(ctx context.Context, conf *request.InitDB) (n } // 如果没有数据库名, 则跳出初始化数据 dsn := conf.PgsqlEmptyDsn() - createSql := fmt.Sprintf("CREATE DATABASE %s;", c.Dbname) + var createSql string + if conf.Template != "" { + createSql = fmt.Sprintf("CREATE DATABASE %s WITH TEMPLATE %s;", c.Dbname, conf.Template) + } else { + createSql = fmt.Sprintf("CREATE DATABASE %s;", c.Dbname) + } if err = createDatabase(dsn, "pgx", createSql); err != nil { return nil, err } // 创建数据库 diff --git a/web/src/view/init/index.vue b/web/src/view/init/index.vue index c8b0155cf..211ec4a88 100644 --- a/web/src/view/init/index.vue +++ b/web/src/view/init/index.vue @@ -111,6 +111,12 @@ placeholder="请输入sqlite数据库文件存放路径" /> + + +
立即初始化 @@ -192,7 +198,8 @@ userName: 'postgres', password: '', dbName: 'gva', - dbPath: '' + dbPath: '', + template: 'template0' }) break case 'oracle': diff --git a/web/src/view/superAdmin/menu/icon.vue b/web/src/view/superAdmin/menu/icon.vue index 824b7924f..d67124e14 100644 --- a/web/src/view/superAdmin/menu/icon.vue +++ b/web/src/view/superAdmin/menu/icon.vue @@ -9,7 +9,7 @@ > - + {{ item.key }} diff --git a/web/src/view/systemTools/autoCode/index.vue b/web/src/view/systemTools/autoCode/index.vue index 0ef657561..38111ffb8 100644 --- a/web/src/view/systemTools/autoCode/index.vue +++ b/web/src/view/systemTools/autoCode/index.vue @@ -704,7 +704,7 @@