diff --git a/sqlx-cli/src/migrate.rs b/sqlx-cli/src/migrate.rs
index aabee292..9e011968 100644
--- a/sqlx-cli/src/migrate.rs
+++ b/sqlx-cli/src/migrate.rs
@@ -130,10 +130,10 @@ pub async fn info(config: &Config, migration_source: &MigrationSourceOpt, connec
let migrator = Migrator::new(ResolveWith(Path::new(source), config.migrate.to_resolve_config())).await?;
let mut conn = crate::connect(connect_opts).await?;
- conn.ensure_migrations_table().await?;
+ conn.ensure_migrations_table(config.migrate.table_name()).await?;
let applied_migrations: HashMap<_, _> = conn
- .list_applied_migrations()
+ .list_applied_migrations(config.migrate.table_name())
.await?
.into_iter()
.map(|m| (m.version, m))
@@ -224,14 +224,14 @@ pub async fn run(
let mut conn = crate::connect(connect_opts).await?;
- conn.ensure_migrations_table().await?;
+ conn.ensure_migrations_table(config.migrate.table_name()).await?;
- let version = conn.dirty_version().await?;
+ let version = conn.dirty_version(config.migrate.table_name()).await?;
if let Some(version) = version {
bail!(MigrateError::Dirty(version));
}
- let applied_migrations = conn.list_applied_migrations().await?;
+ let applied_migrations = conn.list_applied_migrations(config.migrate.table_name()).await?;
validate_applied_migrations(&applied_migrations, &migrator, ignore_missing)?;
let latest_version = applied_migrations
@@ -269,7 +269,7 @@ pub async fn run(
let elapsed = if dry_run || skip {
Duration::new(0, 0)
} else {
- conn.apply(migration).await?
+ conn.apply(config.migrate.table_name(), migration).await?
};
let text = if skip {
"Skipped"
@@ -319,14 +319,14 @@ pub async fn revert(
let mut conn = crate::connect(connect_opts).await?;
- conn.ensure_migrations_table().await?;
+ conn.ensure_migrations_table(config.migrate.table_name()).await?;
- let version = conn.dirty_version().await?;
+ let version = conn.dirty_version(config.migrate.table_name()).await?;
if let Some(version) = version {
bail!(MigrateError::Dirty(version));
}
- let applied_migrations = conn.list_applied_migrations().await?;
+ let applied_migrations = conn.list_applied_migrations(config.migrate.table_name()).await?;
validate_applied_migrations(&applied_migrations, &migrator, ignore_missing)?;
let latest_version = applied_migrations
@@ -360,7 +360,7 @@ pub async fn revert(
let elapsed = if dry_run || skip {
Duration::new(0, 0)
} else {
- conn.revert(migration).await?
+ conn.revert(config.migrate.table_name(), migration).await?
};
let text = if skip {
"Skipped"
diff --git a/sqlx-cli/tests/common/mod.rs b/sqlx-cli/tests/common/mod.rs
index 43c0dbc1..bb58554f 100644
--- a/sqlx-cli/tests/common/mod.rs
+++ b/sqlx-cli/tests/common/mod.rs
@@ -6,10 +6,12 @@ use std::{
fs::remove_file,
path::{Path, PathBuf},
};
+use sqlx::_unstable::config::Config;
pub struct TestDatabase {
file_path: PathBuf,
migrations: String,
+ config: &'static Config,
}
impl TestDatabase {
@@ -19,6 +21,7 @@ impl TestDatabase {
let ret = Self {
file_path,
migrations: String::from(migrations_path.to_str().unwrap()),
+ config: Config::from_crate(),
};
Command::cargo_bin("cargo-sqlx")
.unwrap()
@@ -77,7 +80,7 @@ impl TestDatabase {
let mut conn = SqliteConnection::connect(&self.connection_string())
.await
.unwrap();
- conn.list_applied_migrations()
+ conn.list_applied_migrations(self.config.migrate.table_name())
.await
.unwrap()
.iter()
diff --git a/sqlx-core/src/any/migrate.rs b/sqlx-core/src/any/migrate.rs
index cb4f72c3..b287ec45 100644
--- a/sqlx-core/src/any/migrate.rs
+++ b/sqlx-core/src/any/migrate.rs
@@ -44,18 +44,16 @@ impl MigrateDatabase for Any {
}
impl Migrate for AnyConnection {
- fn ensure_migrations_table(&mut self) -> BoxFuture<'_, Result<(), MigrateError>> {
- Box::pin(async { self.get_migrate()?.ensure_migrations_table().await })
+ fn ensure_migrations_table<'e>(&'e mut self, table_name: &'e str) -> BoxFuture<'e, Result<(), MigrateError>> {
+ Box::pin(async { self.get_migrate()?.ensure_migrations_table(table_name).await })
}
- fn dirty_version(&mut self) -> BoxFuture<'_, Result