From d51382a56d1530387bf129b3772dff382c6780fa Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sun, 20 Oct 2013 10:43:49 +0800 Subject: [PATCH] bug fixed & doc improved --- xorm/README.md | 10 ++++++++++ xorm/reverse.go | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/xorm/README.md b/xorm/README.md index 575219de..aebfca77 100644 --- a/xorm/README.md +++ b/xorm/README.md @@ -30,8 +30,18 @@ to get help example: +sqlite: `xorm reverse sqite3 test.db templates/goxorm` +mysql: +`xorm reverse mysql root:@/xorm_test?charset=utf8 templates/goxorm` + +mymysql: +`xorm reverse mymysql xorm_test2/root/ templates/goxorm` + +postgres: +`xorm reverse postgres "dbname=xorm_test sslmode=disable" templates/goxorm` + will generated go files in `./model` directory ## Template and Config diff --git a/xorm/reverse.go b/xorm/reverse.go index 41022601..f473ad91 100644 --- a/xorm/reverse.go +++ b/xorm/reverse.go @@ -53,6 +53,18 @@ type Tmpl struct { Model string } +func dirExists(dir string) bool { + d, e := os.Stat(dir) + switch { + case e != nil: + return false + case !d.IsDir(): + return false + } + + return true +} + func runReverse(cmd *Command, args []string) { num := checkFlags(cmd.Flags, args, printReversePrompt) if num == -1 { @@ -79,6 +91,7 @@ func runReverse(cmd *Command, args []string) { var genDir string var model string if len(args) == 4 { + genDir, err = filepath.Abs(args[3]) if err != nil { fmt.Println(err) @@ -96,6 +109,11 @@ func runReverse(cmd *Command, args []string) { return } + if !dirExists(dir) { + logging.Error("Template %v path is not exist", dir) + return + } + var langTmpl LangTmpl var ok bool var lang string = "go"