summaryrefslogtreecommitdiff
path: root/cmd/migrate
diff options
context:
space:
mode:
Diffstat (limited to '')
-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)