#rocket-web #rocket #sqlx #web #web-framework

rocket_sqlx_migrator

该软件包与 rocket 网络框架和 rocket_db_pools 一起工作,通过使用一个代理和一些泛型类型魔法,在启动时自动运行迁移。

1 个不稳定版本

0.2.0 2024年6月22日

#2139数据库接口

自定义许可协议

5KB

rocket_sqlx_migrator

使用此软件包与 rocket 网络框架和 rocket_db_pools 一起,通过使用一个代理和一些泛型类型魔法,在启动时自动运行迁移。

您只需使用 rocket_db_pools 定义一个 db 类型

#[derive(Database)]
#[database("times")]
struct MainDB(Pool<Sqlite>);

然后使用以下方法将其注册到迁移器

#[launch]
fn rocket() -> _ {
    rocket::build()
        .attach(MainDB::init())
        .attach(SqlxMigrator::<MainDB>::migrate())
}

注意:您目前无法更改迁移文件夹的默认位置,默认位置在 ./migrations

FWI:我在寻找一些帮助来创建一些测试!

注意2:使用 cargo readme 生成说明


lib.rs:

使用此软件包与 rocket 网络框架和 rocket_db_pools 一起,通过使用一个代理和一些泛型类型魔法,在启动时自动运行迁移。

您只需使用 rocket_db_pools 定义一个 db 类型

#[derive(Database)]
#[database("times")]
struct MainDB(Pool<Sqlite>);

然后使用以下方法将其注册到迁移器

#[launch]
fn rocket() -> _ {
    rocket::build()
        .attach(MainDB::init())
        .attach(SqlxMigrator::<MainDB>::migrate())
}

注意:您目前无法更改迁移文件夹的默认位置,默认位置在 ./migrations

FWI:我在寻找一些帮助来创建一些测试!

注意2:使用 cargo readme 生成说明

依赖关系

~20–52MB
~1M SLoC