#sql #bir #ve #için #bu #deneyimsel #yardımcı

parsql

Deneyimsel bir sql yardımcı küfesidir. UYARI: bu bir ORM aracı değildir. Amaç sql yazımı ve kullanımında basit cümlecikler için kolaylık sağlamaktır.

1 unstable release

new 0.1.0 Dec 12, 2024

#628 in Database interfaces

Download history 132/week @ 2024-12-09

132 downloads per month
Used in 2 crates

MIT/Apache

6KB

parsql

Deneyimsel sql yardımcısı

Ne işe yarar?

Temel sql cümleciklerinin direkt "struct" üzerinden yönetilebilmesini sağlayacak, "generic crud" işlemlerini kullanılabilir hale getiren yardımcı makro, trait ve fonksiyonlar içerir.

Örneğin;

#[derive(Queryable, Debug)]
#[table_name("users")]
#[where_clause("id = $")]
pub struct GetUser {
    pub id: i64,
    pub name: String,
    pub email: String,
    pub state: i16,
}

gibi bir procedural makro kullanımı ile, desteklenen (şimdilik sqlite ve postgresql) veritabanlarında küfe'de tanımlanan "get" fonksiyonunu, bu "struct" için uygulayabilir hale getirmiş oluyoruz.

Şunun gibi;

    let get_user_result = get(&conn, get_user, |row| {
        Ok(GetUser {
            id: row.get("id").unwrap(),
            name: row.get("name").unwrap(),
            email: row.get("email").unwrap(),
            state: row.get("state").unwrap(),
        })
    });

    println!("get user result: {:?}", get_user_result);

github'da projenin repository'sinde, "examples" klasörü altında "sqlite" ve "tokio-postgres" örnek projelerinde, örnek kullanımlar mevcuttur.

Dependencies

~0–580KB
~11K SLoC