This commit is contained in:
Hericium-sys
2026-04-25 13:26:02 +08:00
commit 62b87c6002
29 changed files with 1884 additions and 0 deletions
+66
View File
@@ -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")
}