| 123456789101112131415161718192021222324252627282930 |
- package make
- import (
- "github.com/runningwater/gohub/pkg/app"
- "github.com/runningwater/gohub/pkg/console"
- "github.com/spf13/cobra"
- )
- var CmdMakeMigration = &cobra.Command{
- Use: "migration",
- Short: "Create a migration file, example: make migration add_users_table",
- Run: runMakeMigration,
- Args: cobra.ExactArgs(1), // 只允许且必须传 1 个参数
- }
- func runMakeMigration(cmd *cobra.Command, args []string) {
- // 格式:2023_01_30_141939_create_users_table.go
- timeStr := app.TimenowInTimezone().Format("2006_01_02_150405")
- // 第二个参数是迁移名称,用于生成迁移文件的文件名
- model := makeModelFromString(args[0])
- fileName := timeStr + "_" + model.PackageName
- // 拼接生成的迁移文件的路径
- filePath := "database/migrations/" + fileName + ".go"
- // 基于 tpls 目录创建文件
- createFileFromTpl(filePath, "migration", model, map[string]string{"{{FileName}}": fileName})
- // 输出信息
- console.Success("Migration file created, after modify it, use `migrate up` to migrate database.")
- }
|