package main import ( "dsSupport/Utils/CommonUtil" "dsSupport/Utils/DbUtil" "fmt" ) var db = DbUtil.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" 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() for i2 := range list2 { dataType := list2[i2]["data_type"].(string) fieldLength := list2[i2]["field_length"].(int64) isNull := list2[i2]["is_null"].(int64) var c = "" if dataType == "int" { c = "int" + CommonUtil.ConvertInt64ToString(fieldLength) } else { c = dataType + "(" + CommonUtil.ConvertInt64ToString(fieldLength) + ") " + ` COLLATE "pg_catalog"."default" ` } if isNull==1{ c+="NOT NULL," }else{ if i2< len(list2)-1{ c+="," } } createTableSql += `"` + list2[i2]["field_name"].(string) + `" ` + c+"\r\n" } createTableSql += `);`+"\r\n" fmt.Println(createTableSql) } }