Skip to content

Commit 8ddcd06

Browse files
committed
fix: migration versioning with explicit overrides
1 parent ac7f270 commit 8ddcd06

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

sqlx-cli/src/opt.rs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -433,15 +433,16 @@ impl AddMigrationOpts {
433433
pub fn version_prefix(&self, config: &Config, migrator: &Migrator) -> String {
434434
let default_versioning = &config.migrate.defaults.migration_versioning;
435435

436-
if self.timestamp || matches!(default_versioning, DefaultVersioning::Timestamp) {
437-
return next_timestamp();
438-
}
439-
440-
if self.sequential || matches!(default_versioning, DefaultVersioning::Sequential) {
441-
return next_sequential(migrator).unwrap_or_else(|| fmt_sequential(1));
436+
match (self.timestamp, self.sequential, default_versioning) {
437+
(true, false, _) | (false, false, DefaultVersioning::Timestamp) => next_timestamp(),
438+
(false, true, _) | (false, false, DefaultVersioning::Sequential) => {
439+
next_sequential(migrator).unwrap_or_else(|| fmt_sequential(1))
440+
}
441+
(false, false, DefaultVersioning::Inferred) => {
442+
next_sequential(migrator).unwrap_or_else(next_timestamp)
443+
}
444+
(true, true, _) => unreachable!("BUG: Clap should have rejected this case"),
442445
}
443-
444-
next_sequential(migrator).unwrap_or_else(next_timestamp)
445446
}
446447
}
447448

0 commit comments

Comments
 (0)