Eloquent

A Rust library for building queries in an eloquent way.
Usage
[dependencies]
eloquent = "0.2"
Select Query
use eloquent_core::{Direction, GenericVar};
let query = Eloquent::query()
.table("flights")
.select("id")
.select("flight_number")
.r#where("destination", GenericVar::Str("SIN"))
.to_sql()
.unwrap();
assert_eq!(query, "SELECT `id`, `flight_number` FROM flights WHERE `destination` = \"SIN\";");
Insert Query
use eloquent_core::{Direction, GenericVar, Clause};
let query = Eloquent::query()
.insert("flights", vec![
Clause {
column: "id".to_string(),
value: GenericVar::Int(1),
},
Clause {
column: "flight_code".to_string(),
value: GenericVar::Str("KL0803"),
},
])
.to_sql()
.unwrap();
assert_eq!(query, "INSERT INTO flights (`id`, `flight_code`) VALUES (1, \"KL0803\");");
Update Query
use eloquent_core::{Direction, GenericVar, Clause};
let query = Eloquent::query()
.update("flights", vec![
Clause {
column: "flight_code".to_string(),
value: GenericVar::Str("KL0803"),
},
Clause {
column: "destination".to_string(),
value: GenericVar::Str("Bangkok"),
},
])
.r#where("id", GenericVar::Int(1))
.to_sql()
.unwrap();
assert_eq!(query, "INSERT INTO flights (`id`, `flight_code`) VALUES (1, \"KL0803\") WHERE `id` = 1;");
Delete Query
use eloquent_core::{Direction, GenericVar};
let query = Eloquent::query()
.delete("flights")
.r#where("id", GenericVar::Int(1))
.to_sql()
.unwrap();
assert_eq!(query, "DELETE FROM flights WHERE `id` = 1;");