|
|
package main
|
|
|
|
|
|
import (
|
|
|
"dsSupport/Utils/CommonUtil"
|
|
|
"dsSupport/Utils/DbUtil"
|
|
|
"dsSupport/Utils/PgUtil"
|
|
|
"fmt"
|
|
|
)
|
|
|
|
|
|
var db = DbUtil.Engine
|
|
|
var pgDb = PgUtil.Engine
|
|
|
|
|
|
func main() {
|
|
|
//1、读取每一张需要创建的表
|
|
|
sql := "select * from t_dw_table"
|
|
|
list, _ := db.SQL(sql).Query().List()
|
|
|
|
|
|
for i := range list {
|
|
|
tableId := list[i]["table_id"].(int64)
|
|
|
tableName := list[i]["table_name"].(string)
|
|
|
createTableSql := `DROP TABLE IF EXISTS "public"."` + tableName + `";` + "\r\n"
|
|
|
pgDb.SQL(createTableSql).Execute()
|
|
|
|
|
|
createTableSql = `CREATE TABLE "public"."` + tableName + `" (` + "\r\n"
|
|
|
//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)
|
|
|
fieldName := list2[i2]["field_name"].(string)
|
|
|
var c = ""
|
|
|
if dataType == "int" {
|
|
|
c = "int" + CommonUtil.ConvertInt64ToString(fieldLength)
|
|
|
} else {
|
|
|
c = dataType + "(" + CommonUtil.ConvertInt64ToString(fieldLength) + ") " + ` COLLATE "pg_catalog"."default"`
|
|
|
}
|
|
|
c += ","
|
|
|
createTableSql += `"` + fieldName + `" ` + c + "\r\n"
|
|
|
}
|
|
|
createTableSql = createTableSql[0 : len(createTableSql)-3]
|
|
|
createTableSql += `);` + "\r\n"
|
|
|
_, err := pgDb.SQL(createTableSql).Execute()
|
|
|
fmt.Println(createTableSql)
|
|
|
if err != nil {
|
|
|
panic(err.Error())
|
|
|
}
|
|
|
//主键
|
|
|
var pks = "uuid"
|
|
|
//添加主键描述
|
|
|
createTableSql = `ALTER TABLE "public"."` + tableName + `" ADD CONSTRAINT "` + tableName + `_dw_pkey" PRIMARY KEY ("` + pks + `");` + "\r\n"
|
|
|
_, err = pgDb.SQL(createTableSql).Execute()
|
|
|
if err != nil {
|
|
|
panic(err.Error())
|
|
|
}
|
|
|
//bzlbm
|
|
|
fmt.Println("恭喜,数据仓库中相应表格创建完毕!")
|
|
|
}
|
|
|
}
|