summaryrefslogtreecommitdiff
path: root/cmd/migrate/main.go
blob: 20452f90a4d3f8a35fd9de6d4cee835d0d6939f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package main

import (
	"context"
	"flag"
	"fmt"
	"os"
	"time"

	"aigw/internal/controlplane"
)

func main() {
	environment := flag.String("database-url-env", "AIGW_DATABASE_URL", "environment variable containing the PostgreSQL URL")
	flag.Parse()
	databaseURL := os.Getenv(*environment)
	if databaseURL == "" {
		fmt.Fprintf(os.Stderr, "%s is empty\n", *environment)
		os.Exit(1)
	}
	ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
	defer cancel()
	if err := controlplane.MigrateDatabase(ctx, databaseURL); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(1)
	}
	fmt.Println("control-plane schema is up to date")
}