Feat: execute database script to calibrate user storage

This commit is contained in:
HFO4
2020-12-06 16:49:49 +08:00
parent 6486e8799b
commit f7c8039116
5 changed files with 91 additions and 3 deletions

25
models/scripts/invoker.go Normal file
View File

@@ -0,0 +1,25 @@
package scripts
import (
"context"
"fmt"
)
type DBScript interface {
Run(ctx context.Context)
}
var availableScripts = make(map[string]DBScript)
func RunDBScript(name string, ctx context.Context) error {
if script, ok := availableScripts[name]; ok {
script.Run(ctx)
return nil
}
return fmt.Errorf("数据库脚本 [%s] 不存在", name)
}
func register(name string, script DBScript) {
availableScripts[name] = script
}