Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2cf20e7206 | |||
| 8cac1f5393 |
+22
-2
@@ -116,7 +116,7 @@ func (that *MakeCode) Db2JSON(db *db.HoTimeDB, config Map) {
|
|||||||
nowTables = db.Select("INFORMATION_SCHEMA.TABLES", "TABLE_NAME as name,TABLE_COMMENT as label", Map{"TABLE_SCHEMA": db.DBName})
|
nowTables = db.Select("INFORMATION_SCHEMA.TABLES", "TABLE_NAME as name,TABLE_COMMENT as label", Map{"TABLE_SCHEMA": db.DBName})
|
||||||
}
|
}
|
||||||
if db.Type == "sqlite" {
|
if db.Type == "sqlite" {
|
||||||
nowTables = db.Select("sqlite_sequence", "name")
|
nowTables = db.Select("sqlite_master", "name", Map{"type": "table"})
|
||||||
}
|
}
|
||||||
//idSlice=append(idSlice,nowTables)
|
//idSlice=append(idSlice,nowTables)
|
||||||
for _, v := range nowTables {
|
for _, v := range nowTables {
|
||||||
@@ -158,7 +158,7 @@ func (that *MakeCode) Db2JSON(db *db.HoTimeDB, config Map) {
|
|||||||
|
|
||||||
tableInfo := make([]Map, 0)
|
tableInfo := make([]Map, 0)
|
||||||
if db.Type == "mysql" {
|
if db.Type == "mysql" {
|
||||||
tableInfo = db.Select("INFORMATION_SCHEMA.COLUMNS", "COLUMN_NAME AS name,COLUMN_TYPE AS type,COLUMN_COMMENT AS label", Map{"AND": Map{"TABLE_SCHEMA": db.DBName, "TABLE_NAME": v.GetString("name")}})
|
tableInfo = db.Select("INFORMATION_SCHEMA.COLUMNS", "COLUMN_NAME AS name,COLUMN_TYPE AS type,COLUMN_COMMENT AS label,IS_NULLABLE AS must,COLUMN_DEFAULT AS dflt_value", Map{"AND": Map{"TABLE_SCHEMA": db.DBName, "TABLE_NAME": v.GetString("name")}})
|
||||||
}
|
}
|
||||||
if db.Type == "sqlite" {
|
if db.Type == "sqlite" {
|
||||||
tableInfo = db.Query("pragma table_info([" + v.GetString("name") + "]);")
|
tableInfo = db.Query("pragma table_info([" + v.GetString("name") + "]);")
|
||||||
@@ -189,6 +189,18 @@ func (that *MakeCode) Db2JSON(db *db.HoTimeDB, config Map) {
|
|||||||
//"must": false,
|
//"must": false,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if info.GetString("must") == "NO" {
|
||||||
|
coloum["must"] = true
|
||||||
|
}
|
||||||
|
|
||||||
|
if info["dflt_value"] != nil {
|
||||||
|
coloum["default"] = info["dflt_value"]
|
||||||
|
}
|
||||||
|
|
||||||
|
if info["pk"] != nil && info.GetCeilInt64("pk") == 1 {
|
||||||
|
coloum["must"] = true
|
||||||
|
}
|
||||||
|
|
||||||
//备注以空格隔开,空格后的是其他备注
|
//备注以空格隔开,空格后的是其他备注
|
||||||
indexNum := strings.Index(info.GetString("label"), " ")
|
indexNum := strings.Index(info.GetString("label"), " ")
|
||||||
if indexNum > -1 {
|
if indexNum > -1 {
|
||||||
@@ -219,7 +231,15 @@ func (that *MakeCode) Db2JSON(db *db.HoTimeDB, config Map) {
|
|||||||
coloum["edit"] = ColumnName.GetBool("edit")
|
coloum["edit"] = ColumnName.GetBool("edit")
|
||||||
coloum["add"] = ColumnName["add"]
|
coloum["add"] = ColumnName["add"]
|
||||||
coloum["list"] = ColumnName.GetBool("list")
|
coloum["list"] = ColumnName.GetBool("list")
|
||||||
|
//coloum["must"] = ColumnName.GetBool("must")
|
||||||
|
|
||||||
|
if coloum["must"] == nil {
|
||||||
coloum["must"] = ColumnName.GetBool("must")
|
coloum["must"] = ColumnName.GetBool("must")
|
||||||
|
} else {
|
||||||
|
if ColumnName["must"] != nil {
|
||||||
|
coloum["must"] = ColumnName.GetBool("must")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ColumnName.GetBool("info") {
|
if ColumnName.GetBool("info") {
|
||||||
delete(coloum, "info")
|
delete(coloum, "info")
|
||||||
|
|||||||
+1
-1
@@ -102,7 +102,7 @@ func (that Map) GetBool(key string, err ...*Error) bool {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (that Map) GetTime(key string, err ...*Error) time.Time {
|
func (that Map) GetTime(key string, err ...*Error) *time.Time {
|
||||||
|
|
||||||
v := ObjToTime((that)[key], err...)
|
v := ObjToTime((that)[key], err...)
|
||||||
return v
|
return v
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,7 @@ func (that *Obj) ToInt(err ...Error) int {
|
|||||||
return ObjToInt(that.Data, &that.Error)
|
return ObjToInt(that.Data, &that.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (that *Obj) ToTime(err ...Error) time.Time {
|
func (that *Obj) ToTime(err ...Error) *time.Time {
|
||||||
if len(err) != 0 {
|
if len(err) != 0 {
|
||||||
that.Error = err[0]
|
that.Error = err[0]
|
||||||
}
|
}
|
||||||
|
|||||||
+20
-16
@@ -98,7 +98,7 @@ func ObjToSlice(obj interface{}, e ...*Error) Slice {
|
|||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
func ObjToTime(obj interface{}, e ...*Error) time.Time {
|
func ObjToTime(obj interface{}, e ...*Error) *time.Time {
|
||||||
|
|
||||||
tInt := ObjToInt64(obj)
|
tInt := ObjToInt64(obj)
|
||||||
//字符串类型,只支持标准mysql datetime格式
|
//字符串类型,只支持标准mysql datetime格式
|
||||||
@@ -123,27 +123,27 @@ func ObjToTime(obj interface{}, e ...*Error) time.Time {
|
|||||||
if len(tStr) > 18 {
|
if len(tStr) > 18 {
|
||||||
t, e := time.Parse("2006-01-02 15:04:05", tStr)
|
t, e := time.Parse("2006-01-02 15:04:05", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return t
|
return &t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 15 {
|
} else if len(tStr) > 15 {
|
||||||
t, e := time.Parse("2006-01-02 15:04", tStr)
|
t, e := time.Parse("2006-01-02 15:04", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return t
|
return &t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 12 {
|
} else if len(tStr) > 12 {
|
||||||
t, e := time.Parse("2006-01-02 15", tStr)
|
t, e := time.Parse("2006-01-02 15", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return t
|
return &t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 9 {
|
} else if len(tStr) > 9 {
|
||||||
t, e := time.Parse("2006-01-02", tStr)
|
t, e := time.Parse("2006-01-02", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return t
|
return &t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 6 {
|
} else if len(tStr) > 6 {
|
||||||
t, e := time.Parse("2006-01", tStr)
|
t, e := time.Parse("2006-01", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return t
|
return &t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,28 +151,32 @@ func ObjToTime(obj interface{}, e ...*Error) time.Time {
|
|||||||
|
|
||||||
//纳秒级别
|
//纳秒级别
|
||||||
if len(ObjToStr(tInt)) > 16 {
|
if len(ObjToStr(tInt)) > 16 {
|
||||||
t := time.Time{}.Add(time.Nanosecond * time.Duration(tInt))
|
//t := time.Time{}.Add(time.Nanosecond * time.Duration(tInt))
|
||||||
return t
|
t := time.UnixMicro(tInt / 1000)
|
||||||
|
return &t
|
||||||
//微秒级别
|
//微秒级别
|
||||||
} else if len(ObjToStr(tInt)) > 13 {
|
} else if len(ObjToStr(tInt)) > 13 {
|
||||||
t := time.Time{}.Add(time.Microsecond * time.Duration(tInt))
|
//t := time.Time{}.Add(time.Microsecond * time.Duration(tInt))
|
||||||
return t
|
t := time.UnixMicro(tInt)
|
||||||
|
return &t
|
||||||
//毫秒级别
|
//毫秒级别
|
||||||
} else if len(ObjToStr(tInt)) > 10 {
|
} else if len(ObjToStr(tInt)) > 10 {
|
||||||
t := time.Time{}.Add(time.Millisecond * time.Duration(tInt))
|
//t := time.Time{}.Add(time.Millisecond * time.Duration(tInt))
|
||||||
return t
|
t := time.UnixMilli(tInt)
|
||||||
|
return &t
|
||||||
//秒级别
|
//秒级别
|
||||||
} else if len(ObjToStr(tInt)) > 9 {
|
} else if len(ObjToStr(tInt)) > 9 {
|
||||||
t := time.Time{}.Add(time.Second * time.Duration(tInt))
|
//t := time.Time{}.Add(time.Second * time.Duration(tInt))
|
||||||
return t
|
t := time.Unix(tInt, 0)
|
||||||
|
return &t
|
||||||
} else if len(ObjToStr(tInt)) > 3 {
|
} else if len(ObjToStr(tInt)) > 3 {
|
||||||
t, e := time.Parse("2006", ObjToStr(tInt))
|
t, e := time.Parse("2006", ObjToStr(tInt))
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return t
|
return &t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return time.Time{}
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ObjToFloat64(obj interface{}, e ...*Error) float64 {
|
func ObjToFloat64(obj interface{}, e ...*Error) float64 {
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ func (that Slice) GetString(key int, err ...*Error) string {
|
|||||||
return ObjToStr((that)[key])
|
return ObjToStr((that)[key])
|
||||||
}
|
}
|
||||||
|
|
||||||
func (that Slice) GetTime(key int, err ...*Error) time.Time {
|
func (that Slice) GetTime(key int, err ...*Error) *time.Time {
|
||||||
|
|
||||||
v := ObjToTime((that)[key], err...)
|
v := ObjToTime((that)[key], err...)
|
||||||
return v
|
return v
|
||||||
|
|||||||
+373
-301
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user