golang 生成tpmodel

package main

import (
	"fmt"
	_ "github.com/go-sql-driver/mysql"
	"github.com/go-xorm/xorm"
	"io/ioutil"
	"os"
	"strings"
)

var engine *xorm.Engine

func main() {
	var err error
	engine, err = xorm.NewEngine("mysql", "")
	if err!=nil{
		panic(err)
	}
	table,err :=engine.QueryString("show tables")
	if err!=nil{
		panic(err)
	}
	phpdemo:=ReadFile()
	for _,j:=range table{
		tableInfo,err:=engine.QueryString("show create table "+j["Tables_in_schooltest_hanmo"])
		if err!=nil{
			panic(err)
		}
		for _,w:=range tableInfo  {
			//fmt.Println(w["Create Table"])
			//fmt.Println(w["Table"],"----------")
			fmt.Println(getTableName(w["Table"]))
			str:=fmt.Sprintf(phpdemo,getTableName(w["Table"]),w["Table"],w["Create Table"])
			fmt.Println(str)
			WriteFile("./"+getTableName(w["Table"])+".php",[]byte(str))
		}
	}
}
func PathExists(path string) (bool, error) {
	_, err := os.Stat(path)
	if err == nil {
		return true, nil
	}
	if os.IsNotExist(err) {
		return false, nil
	}
	return false, err
}
func getTableName(str string)string{
	re:=strings.Split(str,"_")
	var tableName string
	len:=len(re)
	for i:=1;i<len;i++{
		tableName+=strings.Title(re[i])
	}
	tableName+="Model"
	return tableName
}
func WriteFile(path string,by []byte)bool{
	re,_:=PathExists(path)
	if re==false{
		err:=ioutil.WriteFile(path,by,os.ModePerm)
		if err!=nil{
			panic(err)
		}
		return true
	}
	return false
}
func ReadFile() string{
	str,_:=ioutil.ReadFile("./demo.php")
	return string(str)
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章