1 个不稳定版本
0.1.0 | 2023 年 3 月 13 日 |
---|
#22 在 #migrate
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