2个不稳定版本
0.2.0 | 2022年6月25日 |
---|---|
0.1.0 | 2020年8月17日 |
#2540 在 数据库接口
33 每月下载量
用于 asyncmigrate-cli
33KB
748 行
asyncmigrate
支持异步的数据库迁移
支持的数据库
- PostgreSQL
许可证
Apache许可证2.0
SQL文件名规则
SQL文件的命名必须遵循以下规则。
VERSION__NAME.sql
VERSION
必须是一个简单的数字,不能包含点。
示例
use asyncmigrate::{MigrationError, Migration};
use rust_embed::RustEmbed;
#[derive(RustEmbed)]
#[folder = "schema/"]
struct Assets;
let mut connection = asyncmigrate::connect(
"postgres://dbmigration-test:[email protected]:5432/dbmigration-test",
)
.await?;
let changeset = asyncmigrate::MigrationChangeSets::load_asset("default", Assets)?;
// Run migration
connection.migrate(&changeset, None).await?;
// Rollback
connection.rollback("default", None).await?;
lib.rs
:
支持异步的数据库迁移
支持的数据库
- PostgreSQL
许可证
Apache许可证2.0
示例
use asyncmigrate::{MigrationError, Migration};
use rust_embed::RustEmbed;
#[derive(RustEmbed)]
#[folder = "schema/"]
struct Assets;
let mut connection = asyncmigrate::connect(
"postgres://dbmigration-test:[email protected]:5432/dbmigration-test",
)
.await?;
let changeset = asyncmigrate::MigrationChangeSets::load_asset("default", Assets)?;
// Run migration
connection.migrate(&changeset, None).await?;
// Rollback
connection.rollback("default", None).await?;
依赖
~6–20MB
~261K SLoC