31 lines
758 B
Go
31 lines
758 B
Go
package main
|
||
|
||
import (
|
||
"flag"
|
||
"fmt"
|
||
"os"
|
||
|
||
"agent-system-backend/internal/app"
|
||
)
|
||
|
||
func runMigrate(args []string) int {
|
||
fs := flag.NewFlagSet("migrate", flag.ExitOnError)
|
||
data := fs.String("data", "./data", "数据目录(SQLite 档)")
|
||
dsn := fs.String("dsn", "", "PostgreSQL DSN(空则读 AGENT_SYSTEM_DSN)")
|
||
adopt := fs.Bool("adopt-instance-guard", false, "数据库被替换或锁文件被重建后,显式重写守卫")
|
||
_ = fs.Parse(args)
|
||
storage := *dsn
|
||
if storage == "" {
|
||
storage = os.Getenv("AGENT_SYSTEM_DSN")
|
||
}
|
||
if err := app.Migrate(app.Options{
|
||
DataDir: *data,
|
||
StorageDSN: storage,
|
||
AdoptInstanceGuard: *adopt,
|
||
}); err != nil {
|
||
fmt.Fprintln(os.Stderr, "agent-system:", err)
|
||
return 1
|
||
}
|
||
return 0
|
||
}
|