SQL Builder for tokio-postgres
Example:
fn example(client:tokio_postgres::Client, user_id:i32, limit:i64, offset:i64) {
let (sql, params) = select(cols(&["u.UserId as Id", "u.Name", "p.Title", "p.Content"]))
.from("User as u")
.left_join("Post as p")
.using_col("UserId")
.where_col("u.UserId", eq(&user_id))
.oder_by_cols(&["CreatedAt desc"])
.limit(&limit)
.offset(&offset)
.build();
let rows = client.query(&sql, ¶ms).await.unwrap();
}
Result:
SQL: select u."UserId" as "Id", u."Name", p."Title", p."Content" FROM "User" as u LEFT JOIN "Post" as p using("UserId") where u."UserId" = $1 order by "CreatedAt" desc LIMIT $2 OFFSET $3
Params:
[123, 10, 50]