1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
//! Entry-point functions for the Drizzle-style query DSL.
//!
//! Import everything with `use rok_fluent::dsl::db;` then build queries with
//! `db::select()`, `db::insert_into(table)`, `db::update(table)`,
//! `db::delete_from(table)`.
use ;
/// Start a `SELECT` query.
///
/// ```rust,ignore
/// use rok_fluent::dsl::db;
///
/// let users = db::select()
/// .from(users::table)
/// .where_(users::active.eq(true))
/// .order_by(users::created_at.desc())
/// .limit(20)
/// .fetch_all::<User>(&pool)
/// .await?;
/// ```
/// Start an `INSERT INTO table` query.
///
/// ```rust,ignore
/// use rok_fluent::dsl::db;
///
/// let user = db::insert_into(users::table)
/// .values([("name", "Alice"), ("email", "alice@x.com")])
/// .returning()
/// .fetch_one::<User>(&pool)
/// .await?;
/// ```
/// Start an `UPDATE table` query.
///
/// ```rust,ignore
/// use rok_fluent::dsl::db;
///
/// db::update(users::table)
/// .set("name", "Bob")
/// .where_(users::id.eq(1_i64))
/// .execute(&pool)
/// .await?;
/// ```
/// Start a `DELETE FROM table` query.
///
/// ```rust,ignore
/// use rok_fluent::dsl::db;
///
/// db::delete_from(users::table)
/// .where_(users::deleted_at.is_not_null())
/// .execute(&pool)
/// .await?;
/// ```