Some checks failed
CI / init (push) Has been cancelled
CI / Frontend node 18.16.0 (push) Has been cancelled
CI / Backend go (1.22) (push) Has been cancelled
CI / devops-test (1.22, 18.16.0) (push) Has been cancelled
CI / release-pr (push) Has been cancelled
CI / release-please (push) Has been cancelled
CI / devops-prod (1.22, 18.x) (push) Has been cancelled
CI / docker (push) Has been cancelled
56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
package system
|
|
|
|
import (
|
|
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/system/response"
|
|
)
|
|
|
|
type AutoCodeService struct{}
|
|
|
|
type Database interface {
|
|
GetDB(businessDB string) (data []response.Db, err error)
|
|
GetTables(businessDB string, dbName string) (data []response.Table, err error)
|
|
GetColumn(businessDB string, tableName string, dbName string) (data []response.Column, err error)
|
|
}
|
|
|
|
func (autoCodeService *AutoCodeService) Database(businessDB string) Database {
|
|
|
|
if businessDB == "" {
|
|
switch global.GVA_CONFIG.System.DbType {
|
|
case "mysql":
|
|
return AutoCodeMysql
|
|
case "pgsql":
|
|
return AutoCodePgsql
|
|
case "mssql":
|
|
return AutoCodeMssql
|
|
case "oracle":
|
|
return AutoCodeOracle
|
|
case "sqlite":
|
|
return AutoCodeSqlite
|
|
default:
|
|
return AutoCodeMysql
|
|
}
|
|
} else {
|
|
for _, info := range global.GVA_CONFIG.DBList {
|
|
if info.AliasName == businessDB {
|
|
switch info.Type {
|
|
case "mysql":
|
|
return AutoCodeMysql
|
|
case "mssql":
|
|
return AutoCodeMssql
|
|
case "pgsql":
|
|
return AutoCodePgsql
|
|
case "oracle":
|
|
return AutoCodeOracle
|
|
case "sqlite":
|
|
return AutoCodeSqlite
|
|
default:
|
|
return AutoCodeMysql
|
|
}
|
|
}
|
|
}
|
|
return AutoCodeMysql
|
|
}
|
|
|
|
}
|