kitx 0.0.1

基于sqlx的数据库操作轻封装,快速增删改查。
Documentation
kitx-0.0.1 has been yanked.

基于Sqlx的数据库轻封装

暂只实现基于Sqlite的操作


///sql builder构建器
///示例
let query = Builder::select("users", &["id", "name"])
        .filter(field("age").eq(23))
        .and(field("salary").gt(45))
        .or(field("status").in_list(vec!["A", "B"]))
        .order_by("name", true)
        .order_by("age", false)
        .build().0;

    assert_eq!(query, "SELECT id, name FROM users WHERE age = ? AND salary > ? OR status IN (?, ?) ORDER BY name ASC, age DESC");

///数据库操作
///示例,插入数据
async fn insert() {
    let class = "关于我们";  
    let content= "测试文本";

    let result = ArticleService::by_fields(class, content).insert().await;

    match result {
        Ok(id) => {
          println!("插入成功,ID: {}", id);
          assert!(true);
        },
        Err(e) =>{
          eprintln!("插入失败: {:?}", e);
          assert!(false);
        }
    }    
}


sqlx cli 安装

cargo install sqlx-cli

https://github.com/launchbadge/sqlx/tree/main/sqlx-cli

创建/删除数据库

sqlx database create sqlx database drop

创建和运行迁移(sql)

sqlx migrate add

比较后运行

sqlx migrate run