mirror of
https://github.com/beego/bee.git
synced 2024-11-01 00:00:53 +00:00
Merge pull request #56 from ZhengYang/master
Minor UX improvement before implementing pq
This commit is contained in:
commit
f850d0de5e
2
g.go
2
g.go
@ -23,7 +23,7 @@ var cmdGenerate = &Command{
|
|||||||
bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
|
bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]
|
||||||
The generate scaffold command will do a number of things for you.
|
The generate scaffold command will do a number of things for you.
|
||||||
-fields: a list of table fields. Format: field:type, ...
|
-fields: a list of table fields. Format: field:type, ...
|
||||||
-driver: [mysql | postgresql | sqlite], the default is mysql
|
-driver: [mysql | postgres | sqlite], the default is mysql
|
||||||
-conn: the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
|
-conn: the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
|
||||||
example: bee generate scaffold post -fields="title:string,body:text"
|
example: bee generate scaffold post -fields="title:string,body:text"
|
||||||
|
|
||||||
|
23
g_appcode.go
23
g_appcode.go
@ -25,6 +25,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
|
_ "github.com/lib/pq"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -197,13 +198,14 @@ func (tag *OrmTag) String() string {
|
|||||||
|
|
||||||
func generateAppcode(driver, connStr, level, tables, currpath string) {
|
func generateAppcode(driver, connStr, level, tables, currpath string) {
|
||||||
var mode byte
|
var mode byte
|
||||||
if level == "1" {
|
switch level {
|
||||||
|
case "1":
|
||||||
mode = O_MODEL
|
mode = O_MODEL
|
||||||
} else if level == "2" {
|
case "2":
|
||||||
mode = O_MODEL | O_CONTROLLER
|
mode = O_MODEL | O_CONTROLLER
|
||||||
} else if level == "3" {
|
case "3":
|
||||||
mode = O_MODEL | O_CONTROLLER | O_ROUTER
|
mode = O_MODEL | O_CONTROLLER | O_ROUTER
|
||||||
} else {
|
default:
|
||||||
ColorLog("[ERRO] Invalid 'level' option: %s\n", level)
|
ColorLog("[ERRO] Invalid 'level' option: %s\n", level)
|
||||||
ColorLog("[HINT] Level must be either 1, 2 or 3\n")
|
ColorLog("[HINT] Level must be either 1, 2 or 3\n")
|
||||||
os.Exit(2)
|
os.Exit(2)
|
||||||
@ -215,6 +217,17 @@ func generateAppcode(driver, connStr, level, tables, currpath string) {
|
|||||||
selectedTables[v] = true
|
selectedTables[v] = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
switch driver {
|
||||||
|
case "mysql":
|
||||||
|
case "postgres":
|
||||||
|
case "sqlite":
|
||||||
|
ColorLog("[ERRO] Generating app code from SQLite database is not supported yet.\n")
|
||||||
|
os.Exit(2)
|
||||||
|
default:
|
||||||
|
ColorLog("[ERRO] Unknown database driver: %s\n", driver)
|
||||||
|
ColorLog("[HINT] Driver must be one of mysql, postgres or sqlite\n")
|
||||||
|
os.Exit(2)
|
||||||
|
}
|
||||||
gen(driver, connStr, mode, selectedTables, currpath)
|
gen(driver, connStr, mode, selectedTables, currpath)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,7 +236,7 @@ func generateAppcode(driver, connStr, level, tables, currpath string) {
|
|||||||
func gen(dbms, connStr string, mode byte, selectedTableNames map[string]bool, currpath string) {
|
func gen(dbms, connStr string, mode byte, selectedTableNames map[string]bool, currpath string) {
|
||||||
db, err := sql.Open(dbms, connStr)
|
db, err := sql.Open(dbms, connStr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ColorLog("[ERRO] Could not connect to %s: %s\n", dbms, connStr)
|
ColorLog("[ERRO] Could not connect to %s database: %s, %s\n", dbms, connStr, err)
|
||||||
os.Exit(2)
|
os.Exit(2)
|
||||||
}
|
}
|
||||||
defer db.Close()
|
defer db.Close()
|
||||||
|
Loading…
Reference in New Issue
Block a user