backend postgresql support

pull/109/head
zhmin 2018-07-06 15:37:41 +08:00 committed by qiang.ou
parent c40ef9aaad
commit 45662b1c3f
2 changed files with 11 additions and 2 deletions

View File

@ -6,6 +6,7 @@ import (
"time"
_ "github.com/go-sql-driver/mysql"
_ "github.com/lib/pq"
"github.com/go-xorm/core"
"github.com/go-xorm/xorm"
"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)
}
// 获取数据库引擎DSN mysql,sqlite
// 获取数据库引擎DSN mysql,sqlite,postgres
func getDbEngineDSN(setting *setting.Setting) string {
engine := strings.ToLower(setting.Db.Engine)
dsn := ""
@ -110,6 +111,13 @@ func getDbEngineDSN(setting *setting.Setting) string {
setting.Db.Port,
setting.Db.Database,
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

View File

@ -16,7 +16,7 @@ import (
// 系统安装
type InstallForm struct {
DbType string `binding:"In(mysql)"`
DbType string `binding:"In(mysql,postgres)"`
DbHost string `binding:"Required;MaxSize(50)"`
DbPort int `binding:"Required;Range(1,65535)"`
DbUsername string `binding:"Required;MaxSize(50)"`
@ -141,6 +141,7 @@ func testDbConnection(form InstallForm) error {
s.Db.Port = form.DbPort
s.Db.User = form.DbUsername
s.Db.Password = form.DbPassword
s.Db.Database = form.DbName
s.Db.Charset = "utf8"
db, err := models.CreateTmpDb(&s)
if err != nil {