|
|
|
@ -25,10 +25,22 @@ func main() {
|
|
|
|
|
//2、根据表名,获取相应的创建表的信息
|
|
|
|
|
sql = `select * from t_dw_table_field where table_id=?`
|
|
|
|
|
list2, _ := db.SQL(sql, tableId).Query().List()
|
|
|
|
|
//手动增加两个字段:uuid+enable_flag
|
|
|
|
|
_map := make(map[string]interface{}, 0)
|
|
|
|
|
_map["data_type"] = "char"
|
|
|
|
|
_map["field_length"] = CommonUtil.ConvertIntToInt64(36)
|
|
|
|
|
_map["field_name"] = "uuid"
|
|
|
|
|
list2 = append(list2, _map)
|
|
|
|
|
|
|
|
|
|
_map2 := make(map[string]interface{}, 0)
|
|
|
|
|
_map2["data_type"] = "int"
|
|
|
|
|
_map2["field_length"] = CommonUtil.ConvertIntToInt64(4)
|
|
|
|
|
_map2["field_name"] = "enable_flag"
|
|
|
|
|
list2 = append(list2, _map2)
|
|
|
|
|
|
|
|
|
|
for i2 := range list2 {
|
|
|
|
|
dataType := list2[i2]["data_type"].(string)
|
|
|
|
|
fieldLength := list2[i2]["field_length"].(int64)
|
|
|
|
|
isNull := list2[i2]["is_null"].(int64)
|
|
|
|
|
fieldName := list2[i2]["field_name"].(string)
|
|
|
|
|
var c = ""
|
|
|
|
|
if dataType == "int" {
|
|
|
|
@ -36,31 +48,18 @@ func main() {
|
|
|
|
|
} else {
|
|
|
|
|
c = dataType + "(" + CommonUtil.ConvertInt64ToString(fieldLength) + ") " + ` COLLATE "pg_catalog"."default"`
|
|
|
|
|
}
|
|
|
|
|
if isNull == 0 {
|
|
|
|
|
c += " NOT NULL,"
|
|
|
|
|
} else {
|
|
|
|
|
c += ","
|
|
|
|
|
}
|
|
|
|
|
c += ","
|
|
|
|
|
createTableSql += `"` + fieldName + `" ` + c + "\r\n"
|
|
|
|
|
}
|
|
|
|
|
createTableSql=createTableSql[0:len(createTableSql)-3]
|
|
|
|
|
createTableSql = createTableSql[0 : len(createTableSql)-3]
|
|
|
|
|
createTableSql += `);` + "\r\n"
|
|
|
|
|
_, err := pgDb.SQL(createTableSql).Execute()
|
|
|
|
|
if err != nil {
|
|
|
|
|
fmt.Println(createTableSql)
|
|
|
|
|
panic(err.Error())
|
|
|
|
|
}
|
|
|
|
|
//主键有哪些
|
|
|
|
|
var pks = ""
|
|
|
|
|
for i2 := range list2 {
|
|
|
|
|
fieldName := list2[i2]["field_name"].(string)
|
|
|
|
|
isPk := list2[i2]["is_pk"].(int64)
|
|
|
|
|
if isPk == 1 {
|
|
|
|
|
pks += fieldName + ","
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//去掉最后一个逗号
|
|
|
|
|
pks = pks[0 : len(pks)-1]
|
|
|
|
|
//主键
|
|
|
|
|
var pks = "uuid"
|
|
|
|
|
//添加主键描述
|
|
|
|
|
createTableSql = `ALTER TABLE "public"."` + tableName + `" ADD CONSTRAINT "` + tableName + `_dw_pkey" PRIMARY KEY ("` + pks + `");` + "\r\n"
|
|
|
|
|
_, err = pgDb.SQL(createTableSql).Execute()
|
|
|
|
|