A single logical migration is represented as two separate migration files, one to migrate "up" to the specified version from the previous version, and a second to migrate back "down" to the previous version. These migrations can be provided by any one of the supported migration sources. The ordering and direction of the migration files is determined by the filenames used for them. migrate expects

