mirror of https://github.com/ouqiang/gocron
backend postgresql support
parent
c40ef9aaad
commit
45662b1c3f
|
@ -6,6 +6,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
|
_ "github.com/lib/pq"
|
||||||
"github.com/go-xorm/core"
|
"github.com/go-xorm/core"
|
||||||
"github.com/go-xorm/xorm"
|
"github.com/go-xorm/xorm"
|
||||||
"github.com/ouqiang/gocron/internal/modules/app"
|
"github.com/ouqiang/gocron/internal/modules/app"
|
||||||
|
@ -97,7 +98,7 @@ func CreateTmpDb(setting *setting.Setting) (*xorm.Engine, error) {
|
||||||
return xorm.NewEngine(setting.Db.Engine, dsn)
|
return xorm.NewEngine(setting.Db.Engine, dsn)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取数据库引擎DSN mysql,sqlite
|
// 获取数据库引擎DSN mysql,sqlite,postgres
|
||||||
func getDbEngineDSN(setting *setting.Setting) string {
|
func getDbEngineDSN(setting *setting.Setting) string {
|
||||||
engine := strings.ToLower(setting.Db.Engine)
|
engine := strings.ToLower(setting.Db.Engine)
|
||||||
dsn := ""
|
dsn := ""
|
||||||
|
@ -110,6 +111,13 @@ func getDbEngineDSN(setting *setting.Setting) string {
|
||||||
setting.Db.Port,
|
setting.Db.Port,
|
||||||
setting.Db.Database,
|
setting.Db.Database,
|
||||||
setting.Db.Charset)
|
setting.Db.Charset)
|
||||||
|
case "postgres":
|
||||||
|
dsn = fmt.Sprintf("user=%s password=%s host=%s port=%d dbname=%s sslmode=disable",
|
||||||
|
setting.Db.User,
|
||||||
|
setting.Db.Password,
|
||||||
|
setting.Db.Host,
|
||||||
|
setting.Db.Port,
|
||||||
|
setting.Db.Database)
|
||||||
}
|
}
|
||||||
|
|
||||||
return dsn
|
return dsn
|
||||||
|
|
|
@ -16,7 +16,7 @@ import (
|
||||||
// 系统安装
|
// 系统安装
|
||||||
|
|
||||||
type InstallForm struct {
|
type InstallForm struct {
|
||||||
DbType string `binding:"In(mysql)"`
|
DbType string `binding:"In(mysql,postgres)"`
|
||||||
DbHost string `binding:"Required;MaxSize(50)"`
|
DbHost string `binding:"Required;MaxSize(50)"`
|
||||||
DbPort int `binding:"Required;Range(1,65535)"`
|
DbPort int `binding:"Required;Range(1,65535)"`
|
||||||
DbUsername string `binding:"Required;MaxSize(50)"`
|
DbUsername string `binding:"Required;MaxSize(50)"`
|
||||||
|
@ -141,6 +141,7 @@ func testDbConnection(form InstallForm) error {
|
||||||
s.Db.Port = form.DbPort
|
s.Db.Port = form.DbPort
|
||||||
s.Db.User = form.DbUsername
|
s.Db.User = form.DbUsername
|
||||||
s.Db.Password = form.DbPassword
|
s.Db.Password = form.DbPassword
|
||||||
|
s.Db.Database = form.DbName
|
||||||
s.Db.Charset = "utf8"
|
s.Db.Charset = "utf8"
|
||||||
db, err := models.CreateTmpDb(&s)
|
db, err := models.CreateTmpDb(&s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in New Issue