|
| 1 | +package main |
| 2 | + |
| 3 | +import "github.com/spf13/pflag" |
| 4 | + |
| 5 | +const ( |
| 6 | + // configuration defaults support local development (i.e. "go run ...") |
| 7 | + defaultDatabaseDSN = "" |
| 8 | + defaultDatabaseDriver = "postgres" |
| 9 | + defaultDatabaseAddress = "0.0.0.0:5432" |
| 10 | + defaultDatabaseName = "" |
| 11 | + defaultDatabaseUser = "postgres" |
| 12 | + defaultDatabasePassword = "postgres" |
| 13 | + defaultDatabaseSSL = "disable" |
| 14 | + defaultConfigDirectory = "/cli/config" |
| 15 | +) |
| 16 | + |
| 17 | +var ( |
| 18 | + // define flag overrides |
| 19 | + flagHelp = pflag.Bool("help", false, "Print usage") |
| 20 | + flagVersion = pflag.String("version", Version, "Print version") |
| 21 | + flagLoggingVerbose = pflag.Bool("verbose", true, "Print verbose logging") |
| 22 | + flagPrefetch = pflag.Uint("prefetch", 10, "Number of migrations to load in advance before executing") |
| 23 | + flaglockTimeout = pflag.Uint("lock-timeout", 15, "Allow N seconds to acquire database lock") |
| 24 | + |
| 25 | + flagDatabaseDSN = pflag.String("database.dsn", defaultDatabaseDSN, "database connection string") |
| 26 | + flagDatabaseDriver = pflag.String("database.driver", defaultDatabaseDriver, "database driver") |
| 27 | + flagDatabaseAddress = pflag.String("database.address", defaultDatabaseAddress, "address of the database") |
| 28 | + flagDatabaseName = pflag.String("database.name", defaultDatabaseName, "name of the database") |
| 29 | + flagDatabaseUser = pflag.String("database.user", defaultDatabaseUser, "database username") |
| 30 | + flagDatabasePassword = pflag.String("database.password", defaultDatabasePassword, "database password") |
| 31 | + flagDatabaseSSL = pflag.String("database.ssl", defaultDatabaseSSL, "database ssl mode") |
| 32 | + |
| 33 | + flagSource = pflag.String("source", "", "Location of the migrations (driver://url)") |
| 34 | + flagPath = pflag.String("path", "", "Shorthand for -source=file://path") |
| 35 | + |
| 36 | + flagConfigDirectory = pflag.String("config.source", defaultConfigDirectory, "directory of the configuration file") |
| 37 | + flagConfigFile = pflag.String("config.file", "", "configuration file name without extension") |
| 38 | + |
| 39 | + // goto command flags |
| 40 | + flagDirty = pflag.Bool("force-dirty-handling", false, "force the handling of dirty database state") |
| 41 | + flagMountPath = pflag.String("cache-dir", "", "path to the cache-dir which is used to copy the migration files") |
| 42 | +) |
0 commit comments