id = "flyway" name = "Flyway" homepage = "https://documentation.red-gate.com/flyway" description = "Database version control to control migrations" executables = ["flyway"] [dotfiles] # https://documentation.red-gate.com/flyway/reference/usage/command-line and # https://github.com/flyway/flywaydb.org/blob/gh-pages/documentation/usage/commandline/index.md # document automatic loading of /flyway.conf. The file can contain # database credentials (including flyway.password), so it is kept as secret # content rather than synced as plaintext. paths = [] secret = ["~/flyway.conf"] [commands] format = 1 label = "Flyway" description = "Run one Flyway migration command against a JDBC URL. Passwords, Teams-only commands (undo) and the many -key=value settings beyond url, user, schemas and locations are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "cli-docs" kind = "manual" url = "https://raw.githubusercontent.com/flyway/flywaydb.org/gh-pages/documentation/usage/commandline/index.md" revision = "2026-10-27" evidence = """ > flyway [options] command > flyway -user=myuser -schemas=schema1,schema2 -placeholders.keyABC=valueXYZ migrate > flyway info -url="jdbc:snowflake://ab12345.snowflakecomputing.com/?db=demo_db&user=foo" > flyway -configFiles=path/to/myAlternativeConfig.conf migrate the `-n` flag. migrate Migrates the database clean Drops all objects in the configured schemas info Prints the details and status information about all the migrations validate Validates the applied migrations against the ones available on the classpath baseline Baselines an existing database, excluding all migrations up to and including baselineVersion repair Repairs the schema history table """ [[commands.field]] id = "url" label = "JDBC URL" type = "string" option = ["-url"] value_style = "equals" sources = ["cli-docs"] [[commands.field]] id = "user" label = "Database user" type = "string" option = ["-user"] value_style = "equals" sources = ["cli-docs"] [[commands.field]] id = "schemas" label = "Schemas" description = "Comma-separated schema names." type = "string" option = ["-schemas"] value_style = "equals" sources = ["cli-docs"] [[commands.field]] id = "config_files" label = "Config files" type = "path" option = ["-configFiles"] value_style = "equals" path = { kind = "file", role = "input", must_exist = true } sources = ["cli-docs"] [[commands.field]] id = "no_prompt" label = "Do not prompt for credentials" type = "boolean" option = ["-n"] sources = ["cli-docs"] [[commands.field]] id = "command" label = "Command" description = "clean drops every object in the configured schemas." type = "enum" position = 0 choices = [ { value = "migrate", label = "migrate" }, { value = "info", label = "info" }, { value = "validate", label = "validate" }, { value = "baseline", label = "baseline" }, { value = "repair", label = "repair" }, { value = "clean", label = "clean (drops all objects)" }, ] sources = ["cli-docs"] [[commands.task]] id = "migrate" label = "Migrate the database" fields = ["command", "url", "user", "schemas", "config_files", "no_prompt"] required = ["command"] set = { command = ["migrate"] } [[commands.task]] id = "info" label = "Show migration status" fields = ["command", "url", "user", "schemas", "config_files", "no_prompt"] required = ["command"] set = { command = ["info"] } [[commands.group]] id = "basic" label = "Basic" fields = ["command", "url", "user", "schemas", "config_files", "no_prompt"]