summaryrefslogtreecommitdiff
path: root/cmd/migrate/main.go
diff options
context:
space:
mode:
authorChia <Chia@93.nz>2026-08-05 22:01:29 +1200
committerChia <Chia@93.nz>2026-08-05 22:07:50 +1200
commiteadb2ffe85c43cf6fc741c9823cd28eedb4a844c (patch)
tree1aba2536d57360da403aa35c9ced58b615c7064e /cmd/migrate/main.go
parentcd0dd91ab93653631904f2ea0e574ccde6d60339 (diff)
feat: harden prepaid billing and commercial operations
Diffstat (limited to 'cmd/migrate/main.go')
-rw-r--r--cmd/migrate/main.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/cmd/migrate/main.go b/cmd/migrate/main.go
index 20452f9..a24b7bc 100644
--- a/cmd/migrate/main.go
+++ b/cmd/migrate/main.go
@@ -12,6 +12,7 @@ import (
func main() {
environment := flag.String("database-url-env", "AIGW_DATABASE_URL", "environment variable containing the PostgreSQL URL")
+ status := flag.Bool("status", false, "print the latest applied migration instead of changing the schema")
flag.Parse()
databaseURL := os.Getenv(*environment)
if databaseURL == "" {
@@ -20,6 +21,15 @@ func main() {
}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
+ if *status {
+ migration, err := controlplane.MigrationStatusDatabase(ctx, databaseURL)
+ if err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ os.Exit(1)
+ }
+ fmt.Printf("version=%d name=%s checksum=%s applied_at=%s\n", migration.Version, migration.Name, migration.Checksum, migration.AppliedAt.Format(time.RFC3339))
+ return
+ }
if err := controlplane.MigrateDatabase(ctx, databaseURL); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)