arel-0.3.3 has been yanked.
Arel
Install
// Cargo.toml
serde =
arel = // sqlte | mysql | postgres
Demo
use *;
// init db from Environment
set_var;
init.await?;
// or init db from code
get_or_init.await?;
// total count
let count = query.select_sql.fetch_count.await?;
println!;
// create
let mut user = User ;
user.save.await?;
// select
let user = query.r#where.fetch_one.await?;
let uesrs: = query.where_range.fetch_all.await?;
// update
let mut user: User = query.fetch_one.await?;
// active_user.name.set("n-1");
user.assign;
user.save.await?;
// destroy
user.destroy.await?;
Query
query.select.to_sql;
let sql = query.r#where.r#where.to_sql;
// where_not
let sql = query.where_not.to_sql;
// where_range
let sql = query.where_range.to_sql;
let sql = query..to_sql;
let sql = query.join_sql.to_sql;
// should use in transaction
let user: User = query.r#where.lock.fetch_one_with_exec;
let sql = query.group.having.to_sql;
let sql = query.order.to_sql;
let sql = query.order_asc.to_sql;
let sql = query.order_desc.to_sql;
let sql = query.limit.to_sql;
let sql = query.offset;
let sql = query.paginate.to_sql;
Insert
with_transaction
.await?;
Update
let user = query.r#where.fetch_one.await?;
user.increment.await?;