1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package cmd
- import (
- "context"
- "fmt"
- "kpt-pasture/config"
- "kpt-pasture/store/kptstore"
- "gitee.com/xuyiping_admin/pkg/cmd"
- "gitee.com/xuyiping_admin/pkg/logger/zaplog"
- "gitee.com/xuyiping_admin/pkg/xerr"
- "gitee.com/xuyiping_admin/pkg/xstore/database/migrator"
- "github.com/spf13/cobra"
- "go.uber.org/zap"
- )
- func init() {
- cmd.Instant(JobCmd, "db:migrate", taskDBMigrate, "数据库迁移-执行完立刻退出")
- }
- var JobCmd = &cobra.Command{
- Use: "job",
- Short: "内部一次性脚本",
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("job called")
- },
- }
- // Migration record
- type Migration struct {
- Id int `xorm:"INT AUTOINCR NOTNULL PK"`
- Name string `xorm:"VARCHAR(1024) NOTNULL UNIQUE"`
- }
- // TableName migrations
- func (Migration) TableName() string {
- return "migrations"
- }
- func taskDBMigrate(ctx context.Context, args []string) error {
- cfg := config.Options()
- zaplog.Info("boot migrate")
- db := kptstore.MustMigrateStore(cfg)
- if err := migrator.AutoMigrateFiles(db, "../migrator"); err != nil {
- zaplog.Error("taskDBMigrate", zap.Any("err", err))
- panic(xerr.WithStack(err))
- }
- sqlDB, _ := db.DB()
- defer sqlDB.Close()
- zaplog.Info("migrate ok")
- return nil
- }
|