sys_auto_code_interface.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package system
  2. import (
  3. "server/global"
  4. "server/model/system/response"
  5. )
  6. type Database interface {
  7. GetDB(businessDB string) (data []response.Db, err error)
  8. GetTables(businessDB string, dbName string) (data []response.Table, err error)
  9. GetColumn(businessDB string, tableName string, dbName string) (data []response.Column, err error)
  10. }
  11. func (autoCodeService *AutoCodeService) Database(businessDB string) Database {
  12. if businessDB == "" {
  13. switch global.GVA_CONFIG.System.DbType {
  14. case "mysql":
  15. return AutoCodeMysql
  16. case "pgsql":
  17. return AutoCodePgsql
  18. case "mssql":
  19. return AutoCodeMssql
  20. case "oracle":
  21. return AutoCodeOracle
  22. case "sqlite":
  23. return AutoCodeSqlite
  24. default:
  25. return AutoCodeMysql
  26. }
  27. } else {
  28. for _, info := range global.GVA_CONFIG.DBList {
  29. if info.AliasName == businessDB {
  30. switch info.Type {
  31. case "mysql":
  32. return AutoCodeMysql
  33. case "mssql":
  34. return AutoCodeMssql
  35. case "pgsql":
  36. return AutoCodePgsql
  37. case "oracle":
  38. return AutoCodeOracle
  39. case "sqlite":
  40. return AutoCodeSqlite
  41. default:
  42. return AutoCodeMysql
  43. }
  44. }
  45. }
  46. return AutoCodeMysql
  47. }
  48. }