golang 生成tpmodel

3 篇文章 0 订阅
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)
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值