This is an automated email from the ASF dual-hosted git repository.

abeizn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git

commit fd56d9cecead3dd849daceebd978f58770b73210
Author: abeizn <[email protected]>
AuthorDate: Wed Jul 20 17:55:05 2022 +0800

    fix: purpose camel case and snake case
---
 generator/cmd/create_migration.go                     | 19 +++++--------------
 .../migrationscripts/add_init_tables.go-template      |  2 +-
 .../template/migrationscripts/migration.go-template   |  2 +-
 .../migration_with_config.go-template                 |  2 +-
 4 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/generator/cmd/create_migration.go 
b/generator/cmd/create_migration.go
index 79977ee7..26e7f513 100644
--- a/generator/cmd/create_migration.go
+++ b/generator/cmd/create_migration.go
@@ -24,12 +24,12 @@ import (
        "os"
        "path/filepath"
        "regexp"
-       "strings"
        "time"
 
        "github.com/apache/incubator-devlake/generator/util"
        "github.com/manifoldco/promptui"
        "github.com/spf13/cobra"
+       "github.com/stoewer/go-strcase"
 )
 
 func init() {
@@ -92,7 +92,7 @@ If framework passed, generator will create a new migration in 
models/migrationsc
                // create vars
                values := map[string]string{}
                values[`Date`] = time.Now().Format(`20060102`)
-               values[`Purpose`] = purpose
+               values[`Purpose`] = strcase.LowerCamelCase(purpose)
                existMigrations, err := ioutil.ReadDir(migrationPath)
                cobra.CheckErr(err)
                values[`Count`] = fmt.Sprintf(`%06d`, len(existMigrations))
@@ -100,9 +100,9 @@ If framework passed, generator will create a new migration 
in models/migrationsc
                // read template
                templates := map[string]string{}
                if withConfig == `Yes` {
-                       
templates[values[`Date`]+`_`+ToSnakeCase(values[`Purpose`])+`.go`] = 
util.ReadTemplate("generator/template/migrationscripts/migration_with_config.go-template")
+                       
templates[values[`Date`]+`_`+strcase.SnakeCase(values[`Purpose`])+`.go`] = 
util.ReadTemplate("generator/template/migrationscripts/migration_with_config.go-template")
                } else {
-                       
templates[values[`Date`]+`_`+ToSnakeCase(values[`Purpose`])+`.go`] = 
util.ReadTemplate("generator/template/migrationscripts/migration.go-template")
+                       
templates[values[`Date`]+`_`+strcase.SnakeCase(values[`Purpose`])+`.go`] = 
util.ReadTemplate("generator/template/migrationscripts/migration.go-template")
                }
                values = util.DetectExistVars(templates, values)
                println(`vars in template:`, fmt.Sprint(values))
@@ -114,7 +114,7 @@ If framework passed, generator will create a new migration 
in models/migrationsc
                        util.ReplaceVarInFile(
                                filepath.Join(migrationPath, `register.go`),
                                regexp.MustCompile(`(return 
+\[]migration\.Script ?\{ ?\n?)((\s*[\w.()]+,\n?)*)(\s*})`),
-                               fmt.Sprintf("$1$2\t\tnew(%s),\n$4", 
values[`Purpose`]),
+                               fmt.Sprintf("$1$2\t\tnew(%s),\n$4", 
strcase.LowerCamelCase(values[`Purpose`])),
                        )
                }
        },
@@ -131,12 +131,3 @@ func purposeNotExistValidate(input string) error {
 
        return nil
 }
-
-var matchFirstCap = regexp.MustCompile("(.)([A-Z][a-z]+)")
-var matchAllCap = regexp.MustCompile("([a-z0-9])([A-Z])")
-
-func ToSnakeCase(str string) string {
-       snake := matchFirstCap.ReplaceAllString(str, "${1}_${2}")
-       snake = matchAllCap.ReplaceAllString(snake, "${1}_${2}")
-       return strings.ToLower(snake)
-}
diff --git a/generator/template/migrationscripts/add_init_tables.go-template 
b/generator/template/migrationscripts/add_init_tables.go-template
index 5e4f68e6..44c9c103 100644
--- a/generator/template/migrationscripts/add_init_tables.go-template
+++ b/generator/template/migrationscripts/add_init_tables.go-template
@@ -35,5 +35,5 @@ func (*addInitTables) Version() uint64 {
 }
 
 func (*addInitTables) Name() string {
-       return "{{ .pluginName }} init schemas {{ .Date }}"
+       return "{{ .pluginName }} init schemas"
 }
diff --git a/generator/template/migrationscripts/migration.go-template 
b/generator/template/migrationscripts/migration.go-template
index 3a93a128..f3a3a5d0 100644
--- a/generator/template/migrationscripts/migration.go-template
+++ b/generator/template/migrationscripts/migration.go-template
@@ -34,5 +34,5 @@ func (*{{ .Purpose }}) Version() uint64 {
 }
 
 func (*{{ .Purpose }}) Name() string {
-       return "UpdateSchemas for {{ .Purpose }} in {{ .Date }}"
+       return "UpdateSchemas for {{ .Purpose }}"
 }
diff --git 
a/generator/template/migrationscripts/migration_with_config.go-template 
b/generator/template/migrationscripts/migration_with_config.go-template
index d4db8db5..3d599f9a 100644
--- a/generator/template/migrationscripts/migration_with_config.go-template
+++ b/generator/template/migrationscripts/migration_with_config.go-template
@@ -42,5 +42,5 @@ func (*{{ .Purpose }}) Version() uint64 {
 }
 
 func (*{{ .Purpose }}) Name() string {
-       return "UpdateSchemas for {{ .Purpose }} in {{ .Date }}"
+       return "UpdateSchemas for {{ .Purpose }}"
 }

Reply via email to