diff --git a/sqlx-core/src/migrate/source.rs b/sqlx-core/src/migrate/source.rs index a4727aed..660b3cfe 100644 --- a/sqlx-core/src/migrate/source.rs +++ b/sqlx-core/src/migrate/source.rs @@ -31,7 +31,7 @@ impl<'s> MigrationSource<'s> for &'s Path { Box::pin(async move { let canonical = self.canonicalize()?; let migrations_with_paths = - crate::rt::spawn_blocking(move || resolve_blocking(canonical)).await?; + crate::rt::spawn_blocking(move || resolve_blocking(&canonical)).await?; Ok(migrations_with_paths.into_iter().map(|(m, _p)| m).collect()) }) @@ -54,8 +54,8 @@ pub struct ResolveError { // FIXME: paths should just be part of `Migration` but we can't add a field backwards compatibly // since it's `#[non_exhaustive]`. -pub fn resolve_blocking(path: PathBuf) -> Result, ResolveError> { - let mut s = fs::read_dir(&path).map_err(|e| ResolveError { +pub fn resolve_blocking(path: &Path) -> Result, ResolveError> { + let mut s = fs::read_dir(path).map_err(|e| ResolveError { message: format!("error reading migration directory {}: {e}", path.display()), source: Some(e), })?; diff --git a/sqlx-macros-core/src/migrate.rs b/sqlx-macros-core/src/migrate.rs index a554dfe1..0836e6f1 100644 --- a/sqlx-macros-core/src/migrate.rs +++ b/sqlx-macros-core/src/migrate.rs @@ -103,7 +103,7 @@ pub(crate) fn expand_migrator(path: &Path) -> crate::Result { })?; // Use the same code path to resolve migrations at compile time and runtime. - let migrations = sqlx_core::migrate::resolve_blocking(path)? + let migrations = sqlx_core::migrate::resolve_blocking(&path)? .into_iter() .map(|(migration, path)| QuoteMigration { migration, path });