|
19 | 19 | Use: "down", |
20 | 20 | Short: "Run database migration down one version", |
21 | 21 | Run: func(cmd *cobra.Command, args []string) { |
22 | | - dbClient, err := migrateDBClient() |
| 22 | + configFile, _ := cmd.Flags().GetString(configFileFlag) |
| 23 | + configKey, _ := cmd.Flags().GetString(configKeyFlag) |
| 24 | + cfg, err := config.LoadConfig(configKey, configFile) |
| 25 | + if err != nil { |
| 26 | + panic(fmt.Errorf("could not load config: %w", err)) |
| 27 | + } |
| 28 | + |
| 29 | + dbClient, err := migrateDBClient(cfg) |
23 | 30 | if err != nil { |
24 | 31 | panic(fmt.Errorf("could not load config: %w", err)) |
25 | 32 | } |
|
35 | 42 | Use: "up", |
36 | 43 | Short: "Run database migrations up to the latest version", |
37 | 44 | Run: func(cmd *cobra.Command, _ []string) { |
38 | | - dbClient, err := migrateDBClient() |
| 45 | + configFile, _ := cmd.Flags().GetString(configFileFlag) |
| 46 | + configKey, _ := cmd.Flags().GetString(configKeyFlag) |
| 47 | + cfg, err := config.LoadConfig(configKey, configFile) |
| 48 | + if err != nil { |
| 49 | + panic(fmt.Errorf("could not load config: %w", err)) |
| 50 | + } |
| 51 | + dbClient, err := migrateDBClient(cfg) |
39 | 52 | if err != nil { |
40 | 53 | panic(fmt.Errorf("could not load config: %w", err)) |
41 | 54 | } |
|
52 | 65 | Use: "status", |
53 | 66 | Short: "Show the status of the database migrations", |
54 | 67 | Run: func(cmd *cobra.Command, args []string) { |
55 | | - dbClient, err := migrateDBClient() |
| 68 | + configFile, _ := cmd.Flags().GetString(configFileFlag) |
| 69 | + configKey, _ := cmd.Flags().GetString(configKeyFlag) |
| 70 | + cfg, err := config.LoadConfig(configKey, configFile) |
| 71 | + if err != nil { |
| 72 | + panic(fmt.Errorf("could not load config: %w", err)) |
| 73 | + } |
| 74 | + dbClient, err := migrateDBClient(cfg) |
56 | 75 | if err != nil { |
57 | 76 | panic(fmt.Errorf("could not load config: %w", err)) |
58 | 77 | } |
|
68 | 87 | } |
69 | 88 | ) |
70 | 89 |
|
71 | | -func migrateDBClient() (*db.Client, error) { |
72 | | - // Load the config |
73 | | - conf, err := config.LoadConfig("opentdf") |
74 | | - if err != nil { |
75 | | - return nil, err |
76 | | - } |
77 | | - |
| 90 | +func migrateDBClient(conf *config.Config) (*db.Client, error) { |
78 | 91 | slog.Info("creating database client") |
79 | 92 | dbClient, err := db.NewClient(conf.DB) |
80 | 93 | if err != nil { |
|
0 commit comments