1
0
mirror of https://github.com/beego/bee.git synced 2025-07-05 18:20:18 +00:00

generate models for specified tables

This commit is contained in:
ZhengYang
2014-08-07 16:39:28 +08:00
parent cbe5fc1d21
commit 6f8cff2acc
2 changed files with 42 additions and 13 deletions

8
g.go
View File

@ -20,8 +20,9 @@ var cmdGenerate = &Command{
UsageLine: "generate [Command]",
Short: "generate code based on application",
Long: `
bee generate model [-driver=mysql] [-conn=root:@tcp(127.0.0.1:3306)/test] [-level=1]
bee generate model [-tables=""] [-driver=mysql] [-conn=root:@tcp(127.0.0.1:3306)/test] [-level=1]
generate model based on an existing database
-tables: a list of table names separated by ',', default is empty, indicating all tables
-driver: [mysql | postgresql | sqlite], the default is mysql
-conn: the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
-level: [1 | 2 | 3], 1 = model; 2 = models,controller; 3 = models,controllers,router
@ -46,9 +47,11 @@ bee generate test [routerfile]
var driver docValue
var conn docValue
var level docValue
var tables docValue
func init() {
cmdGenerate.Run = generateCode
cmdGenerate.Flag.Var(&tables, "tables", "specify tables to generate model")
cmdGenerate.Flag.Var(&driver, "driver", "database driver: mysql, postgresql, etc.")
cmdGenerate.Flag.Var(&conn, "conn", "connection string used by the driver to connect to a database instance")
cmdGenerate.Flag.Var(&level, "level", "1 = models only; 2 = models and controllers; 3 = models, controllers and routers")
@ -86,8 +89,9 @@ func generateCode(cmd *Command, args []string) {
}
ColorLog("[INFO] Using '%s' as 'driver'\n", driver)
ColorLog("[INFO] Using '%s' as 'conn'\n", conn)
ColorLog("[INFO] Using '%s' as 'tables'", tables)
ColorLog("[INFO] Using '%s' as 'level'\n", level)
generateModel(string(driver), string(conn), string(level), curpath)
generateModel(string(driver), string(conn), string(level), string(tables), curpath)
case "migration":
if len(args) == 2 {
mname := args[1]