init
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var (
|
||||
env = flag.String("env", "local", "环境配置 (local/production)")
|
||||
action = flag.String("action", "", "操作类型: status, diff, apply, validate, reset")
|
||||
name = flag.String("name", "", "迁移名称 (仅用于 diff 操作)")
|
||||
)
|
||||
flag.Parse()
|
||||
|
||||
if *action == "" {
|
||||
printUsage()
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
switch *action {
|
||||
case "status":
|
||||
fmt.Printf("atlas migrate status --env %s\n", *env)
|
||||
case "diff":
|
||||
if *name != "" {
|
||||
fmt.Printf("atlas migrate diff %s --env %s\n", *name, *env)
|
||||
} else {
|
||||
fmt.Printf("atlas migrate diff --env %s\n", *env)
|
||||
}
|
||||
case "apply":
|
||||
fmt.Printf("atlas migrate apply --env %s\n", *env)
|
||||
case "validate":
|
||||
fmt.Printf("atlas migrate validate --env %s\n", *env)
|
||||
case "reset":
|
||||
fmt.Printf("atlas migrate reset --env %s\n", *env)
|
||||
default:
|
||||
fmt.Printf("未知操作: %s\n", *action)
|
||||
printUsage()
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
func printUsage() {
|
||||
fmt.Println("数据库迁移管理工具")
|
||||
fmt.Println()
|
||||
fmt.Println("用法:")
|
||||
fmt.Println(" go run cmd/migrate/main.go -action <操作> [选项]")
|
||||
fmt.Println()
|
||||
fmt.Println("操作:")
|
||||
fmt.Println(" status 检查迁移状态")
|
||||
fmt.Println(" diff 生成迁移文件 (可选: -name <迁移名称>)")
|
||||
fmt.Println(" apply 应用迁移")
|
||||
fmt.Println(" validate 验证迁移文件")
|
||||
fmt.Println(" reset 重置迁移历史 (仅显示提示)")
|
||||
fmt.Println()
|
||||
fmt.Println("选项:")
|
||||
fmt.Println(" -env 环境配置 (默认: local)")
|
||||
fmt.Println(" -name 迁移名称 (仅用于 diff)")
|
||||
fmt.Println()
|
||||
fmt.Println("示例:")
|
||||
fmt.Println(" go run cmd/migrate/main.go -action status")
|
||||
fmt.Println(" go run cmd/migrate/main.go -action diff -name create_users")
|
||||
fmt.Println(" go run cmd/migrate/main.go -action apply")
|
||||
fmt.Println(" go run cmd/migrate/main.go -action validate")
|
||||
}
|
||||
Reference in New Issue
Block a user