提交 f90920fb 编写于 作者: aaronchen2k2k's avatar aaronchen2k2k

select data from temp table

上级 5472ee5e
......@@ -25,7 +25,7 @@ func GenerateFieldValuesFromExcel(field *model.Field, fieldValue *model.FieldVal
path := constant.DataDir + file
ConvertExcelToSQLite(*field, path)
list = strings.Split("str"+path, "\n")
list = ReadDataSQLite(*field)
// get step and rand
rand := false
......@@ -120,9 +120,10 @@ func ConvertExcelToSQLite(field model.Field, path string) {
valList = valList + ")"
}
dropSql := fmt.Sprintf(dropTemplate, field.Name)
ddl := fmt.Sprintf(ddlTemplate, field.Name, colDefine)
insertSql := fmt.Sprintf(insertTemplate, field.Name, colList, valList)
tableName := field.Name + "_" + sheet
dropSql := fmt.Sprintf(dropTemplate, tableName)
ddl := fmt.Sprintf(ddlTemplate, tableName, colDefine)
insertSql := fmt.Sprintf(insertTemplate, tableName, colList, valList)
db, err := sql.Open("sqlite3", constant.SqliteSource)
_, err = db.Exec(dropSql)
......@@ -141,8 +142,32 @@ func ConvertExcelToSQLite(field model.Field, path string) {
}
}
func ReadDataSQLite(table string) []string {
func ReadDataSQLite(field model.Field) []string {
list := make([]string, 0)
db, err := sql.Open(constant.SqliteDriver, constant.SqliteSource)
if err != nil {
logUtils.Screen("fail to open " + constant.SqliteSource + ": " + err.Error())
return list
}
rows, err := db.Query(field.Filter)
if err != nil {
logUtils.Screen("fail to exec query " + err.Error())
return list
}
for rows.Next() {
var val string
err = rows.Scan(&val)
if err != nil {
logUtils.Screen("fail to get sqlite3 row: " + err.Error())
return list
}
list = append(list, val)
}
return list
}
......@@ -83,6 +83,7 @@ func GenerateForField(field *model.Field, total int) []string {
} else {// other type like address.city
arr := strings.Split(field.Type, ".")
referField := constant.LoadedFields[arr[0]]
referField.Filter = field.Range
values = GenerateFieldItemsFromDefinition(&referField, total)
}
......
......@@ -14,6 +14,7 @@ type Field struct {
Note string `yaml:"note"`
Type string `yaml:"type"`
Range string `yaml:"range"`
Filter string `yaml:"filter"`
Prefix string `yaml:"prefix"`
Postfix string `yaml:"postfix"`
Loop int `yaml:"loop"`
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册