4 个版本

0.2.3 2023年4月14日
0.2.2 2023年4月14日
0.2.1 2023年4月14日
0.2.0 2023年4月14日

#2286数据库接口

每月 25 次下载

MIT 许可证

95KB
1.5K SLoC

Sequelite 🚀

Sequelite 是一个简单、轻量级且快速的 Rust SQLite ORM。

它建立在 rusqlite 之上

特点

  • 简单易用
  • 轻量级
  • 快速
  • 自动模式迁移

用法

将此添加到您的 Cargo.toml

[dependencies]
sequelite = "0.2"

您可以在这里找到文档

示例

use sequelite::prelude::*;

#[derive(Debug, Model)]
struct User {
    id: Option<i32>,
    #[default_value(&"Unknown name")]
    name: Option<String>,
    age: i32,
}

fn main() {
    // Create new database connection
    let mut conn = Connection::new("example.db").unwrap();

    // Ensure database schema is up to date
    conn.register::<User>().unwrap();
    conn.migrate();

    // Create a new users
    conn.insert(&[
        User { id: None, name: Some("John".to_string()), age: 20 },
        User { id: None, name: Some("Jane".to_string()), age: 21 },
    ]);

    // Get all users whose name is "John"
    let users = User::select()
        .filter(User::name.eq("John"))
        .exec(&conn).unwrap();

    // Print all users
    println!("{:#?}", users);
}

依赖项

~27–37MB
~589K SLoC