Skip to content

Commit

Permalink
feat: app afterMigrate hook support
Browse files Browse the repository at this point in the history
  • Loading branch information
trheyi committed Sep 29, 2024
1 parent 5f271a7 commit dc162bb
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 14 deletions.
16 changes: 16 additions & 0 deletions cmd/migrate.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"github.com/fatih/color"
"github.com/spf13/cobra"
"github.com/yaoapp/gou/model"
"github.com/yaoapp/gou/process"
"github.com/yaoapp/kun/exception"
"github.com/yaoapp/yao/config"
"github.com/yaoapp/yao/engine"
Expand Down Expand Up @@ -88,6 +89,21 @@ var migrateCmd = &cobra.Command{
fmt.Printf(color.GreenString(L("SUCCESS")) + "\n")
}

// After Migrate Hook
if share.App.AfterMigrate != "" {
option := map[string]any{"force": force, "reset": resetModel, "mode": config.Conf.Mode}
p, err := process.Of(share.App.AfterMigrate, option)
if err != nil {
fmt.Println(color.RedString(L("AfterMigrate: %s %v"), share.App.AfterMigrate, err))
return
}

_, err = p.Exec()
if err != nil {
fmt.Println(color.RedString(L("AfterMigrate: %s %v"), share.App.AfterMigrate, err))
}
}

// fmt.Println(color.GreenString(L("✨DONE✨")))
},
}
Expand Down
29 changes: 15 additions & 14 deletions share/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,21 @@ type Page struct {

// AppInfo 应用信息
type AppInfo struct {
Name string `json:"name,omitempty"`
L map[string]string `json:"-"`
Short string `json:"short,omitempty"`
Version string `json:"version,omitempty"`
Description string `json:"description,omitempty"`
Icons maps.MapStrSync `json:"icons,omitempty"`
Storage AppStorage `json:"storage,omitempty"`
Option map[string]interface{} `json:"option,omitempty"`
XGen string `json:"xgen,omitempty"`
AdminRoot string `json:"adminRoot,omitempty"`
Static Static `json:"public,omitempty"`
Optional map[string]interface{} `json:"optional,omitempty"`
Moapi Moapi `json:"moapi,omitempty"`
AfterLoad string `json:"afterLoad,omitempty"` // Process executed after the app is loaded
Name string `json:"name,omitempty"`
L map[string]string `json:"-"`
Short string `json:"short,omitempty"`
Version string `json:"version,omitempty"`
Description string `json:"description,omitempty"`
Icons maps.MapStrSync `json:"icons,omitempty"`
Storage AppStorage `json:"storage,omitempty"`
Option map[string]interface{} `json:"option,omitempty"`
XGen string `json:"xgen,omitempty"`
AdminRoot string `json:"adminRoot,omitempty"`
Static Static `json:"public,omitempty"`
Optional map[string]interface{} `json:"optional,omitempty"`
Moapi Moapi `json:"moapi,omitempty"`
AfterLoad string `json:"afterLoad,omitempty"` // Process executed after the app is loaded
AfterMigrate string `json:"afterMigrate,omitempty"` // Process executed after the app is migrated
}

// Moapi AIGC App Store API
Expand Down

0 comments on commit dc162bb

Please sign in to comment.