Add scoped migration acceptance run

This commit is contained in:
DonVoo 2026-07-14 05:53:11 +02:00
parent 253435d87f
commit 813762f43f
3 changed files with 39 additions and 3 deletions

View file

@ -7,6 +7,7 @@ import (
"log"
"net/http"
"os"
"strings"
"time"
"mail-graveyard/backend"
@ -17,6 +18,7 @@ var frontend embed.FS
func main() {
runOnce := flag.String("run", "", "einen Umzugs-Job einmalig ausfuehren (Konto-Name oder 'all'), ohne Web-UI")
runFolders := flag.String("folders", "", "optionale kommaseparierte Ordnerliste fuer -run (CLI-Abnahme/Teilumzug)")
watch := flag.Bool("watch", false, "Delta-Sync in Schleife bis Stop (Cutover-Fenster)")
watchInterval := flag.Duration("watch-interval", 60*time.Second, "Pause zwischen Watch-Durchlaeufen")
seedAccount := flag.String("seed-account", "", "Konto aus lokaler JSON-Datei in die DB schreiben (nur CLI/Test)")
@ -44,6 +46,13 @@ func main() {
// CLI-Modus: ohne Web laufen lassen (Cronjob / Cutover).
if *runOnce != "" {
if strings.TrimSpace(*runFolders) != "" {
if *watch {
log.Fatal("-folders kann nicht mit -watch kombiniert werden")
}
must(backend.RunMigrationFolders(*runOnce, strings.Split(*runFolders, ",")))
return
}
must(backend.RunMigration(*runOnce, *watch, *watchInterval))
return
}