You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by ab...@apache.org on 2022/07/20 10:48:05 UTC
[incubator-devlake] 01/07: fix: generator adapt new migration
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 7ec0ab9d9d69b9248a2c7158e00ed9bdc88c507d
Author: abeizn <zi...@merico.dev>
AuthorDate: Wed Jul 20 16:26:29 2022 +0800
fix: generator adapt new migration
---
generator/cmd/init_migration.go | 19 +++++++++++--------
...schema.go-template => add_init_tables.go-template} | 8 ++++----
.../template/migrationscripts/register.go-template | 2 +-
generator/util/template.go | 4 ++--
4 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/generator/cmd/init_migration.go b/generator/cmd/init_migration.go
index ebc4f17a..bed53ce2 100644
--- a/generator/cmd/init_migration.go
+++ b/generator/cmd/init_migration.go
@@ -20,13 +20,14 @@ package cmd
import (
"errors"
"fmt"
+ "os"
+ "path/filepath"
+ "time"
+
"github.com/apache/incubator-devlake/generator/util"
"github.com/manifoldco/promptui"
"github.com/spf13/cobra"
"github.com/stoewer/go-strcase"
- "os"
- "path/filepath"
- "time"
)
func init() {
@@ -61,17 +62,19 @@ Type in which plugin do you want init migrations in, then generator will create
cobra.CheckErr(errors.New(`migrationscripts inited or path read file`))
}
+ // create vars
+ values := map[string]string{}
+ util.GenerateAllFormatVar(values, `plugin_name`, pluginName)
+ versionTimestamp := time.Now().Format(`20060102`)
+
// read template
templates := map[string]string{
- `initSchema.go`: util.ReadTemplate("generator/template/migrationscripts/init_schemas.go-template"),
+ fmt.Sprintf("%s_add_init_tables.go", versionTimestamp): util.ReadTemplate("generator/template/migrationscripts/add_init_tables.go-template"),
`register.go`: util.ReadTemplate("generator/template/migrationscripts/register.go-template"),
`archived/.gitkeep`: ``,
}
- // create vars
- values := map[string]string{}
- util.GenerateAllFormatVar(values, `plugin_name`, pluginName)
- values[`Date`] = time.Now().Format(`20060102`)
+ values[`Date`] = versionTimestamp
values = util.DetectExistVars(templates, values)
println(`vars in template:`, fmt.Sprint(values))
diff --git a/generator/template/migrationscripts/init_schema.go-template b/generator/template/migrationscripts/add_init_tables.go-template
similarity index 84%
rename from generator/template/migrationscripts/init_schema.go-template
rename to generator/template/migrationscripts/add_init_tables.go-template
index 1ab56bcc..5e4f68e6 100644
--- a/generator/template/migrationscripts/init_schema.go-template
+++ b/generator/template/migrationscripts/add_init_tables.go-template
@@ -22,18 +22,18 @@ import (
"gorm.io/gorm"
)
-type initSchemas struct {}
+type addInitTables struct {}
-func (u *initSchemas) Up(ctx context.Context, db *gorm.DB) error {
+func (u *addInitTables) Up(ctx context.Context, db *gorm.DB) error {
return db.Migrator().AutoMigrate(
// TODO add you models
)
}
-func (*initSchemas) Version() uint64 {
+func (*addInitTables) Version() uint64 {
return {{ .Date }}000001
}
-func (*initSchemas) Name() string {
+func (*addInitTables) Name() string {
return "{{ .pluginName }} init schemas {{ .Date }}"
}
diff --git a/generator/template/migrationscripts/register.go-template b/generator/template/migrationscripts/register.go-template
index 51152508..92e20c01 100644
--- a/generator/template/migrationscripts/register.go-template
+++ b/generator/template/migrationscripts/register.go-template
@@ -22,6 +22,6 @@ import "github.com/apache/incubator-devlake/migration"
// All return all the migration scripts
func All() []migration.Script {
return []migration.Script{
- new(initSchemas),
+ new(addInitTables),
}
}
diff --git a/generator/util/template.go b/generator/util/template.go
index d8b9896b..908caf70 100644
--- a/generator/util/template.go
+++ b/generator/util/template.go
@@ -47,10 +47,10 @@ func ReadTemplate(templateFile string) string {
// WriteTemplates write some strings to files
func WriteTemplates(path string, templates map[string]string) {
- err := os.MkdirAll(path, 0600)
+ err := os.MkdirAll(path, 0755)
cobra.CheckErr(err)
for name, template := range templates {
- err := os.MkdirAll(filepath.Dir(filepath.Join(path, name)), 0600)
+ err := os.MkdirAll(filepath.Dir(filepath.Join(path, name)), 0755)
cobra.CheckErr(err)
err = ioutil.WriteFile(filepath.Join(path, name), []byte(template), 0600)
cobra.CheckErr(err)