1 个不稳定版本

0.1.0 2023 年 3 月 13 日

#22#migrate

MIT 许可证

16KB
188 代码行

sqlx-migrate-validate

使用 sqlx 和其 sqlx::migrate! 宏,可以创建迁移并将其应用于数据库。当启动应用程序时,验证数据库是否处于正确状态非常重要。此 crate 提供了一种验证应用迁移是否与期望迁移相匹配的方法。与 sqlx::migrate! 宏结合使用时,可以验证数据库模式是否与编译时源代码中存在的迁移相匹配。

虽然这并不能保证数据库与应用程序之间的完全兼容性,但它有助于早期发现问题。

示例

use sqlx_migrate_validate::{Validate, Validator};

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let pool = sqlx::SqlitePool::connect("sqlite::memory:").await?;
    let mut conn = pool.acquire().await?;

    sqlx::migrate!("./tests/migrations-1")
        .validate(&mut *conn)
        .await?;

    Ok(())
}

依赖项

~17–32MB
~599K SLoC