parsql

Crates.ioparsql
lib.rsparsql
version0.1.0
sourcesrc
created_at2024-12-12 21:50:23.278475
updated_at2024-12-12 21:50:23.278475
descriptionDeneyimsel 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.
homepage
repositoryhttps://github.com/yazdostum-nettr/parsql
max_upload_size
id1481688
size10,227
(yazdostum-nettr)

documentation

README

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.

Commit count: 14

cargo fmt