diff options
author | Vincent Ambo <tazjin@gmail.com> | 2018-04-08T13·49+0200 |
---|---|---|
committer | Vincent Ambo <tazjin@gmail.com> | 2018-04-08T13·49+0200 |
commit | 72691c8d6386678be51c71d62e50d168d8fe28bb (patch) | |
tree | 83b3066871c4433115de98bef723c09cf359e55c | |
parent | 042eb88fd74033b9b606189b626f3f0a11a3e2b1 (diff) |
feat(models/schema): Map up posts & threads table
-rw-r--r-- | src/models.rs | 16 | ||||
-rw-r--r-- | src/schema.rs | 24 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/models.rs b/src/models.rs new file mode 100644 index 000000000000..a7ed8a91df03 --- /dev/null +++ b/src/models.rs @@ -0,0 +1,16 @@ +use chrono::prelude::{DateTime, Utc}; + +#[derive(Queryable)] +pub struct Thread { + pub id: i32, + pub title: String, + pub body: String, + pub posted: DateTime<Utc>, +} + +pub struct Post { + pub id: i32, + pub thread: i32, + pub body: String, + pub posted: DateTime<Utc>, +} diff --git a/src/schema.rs b/src/schema.rs new file mode 100644 index 000000000000..a899f52ac2cc --- /dev/null +++ b/src/schema.rs @@ -0,0 +1,24 @@ +table! { + posts (id) { + id -> Int4, + thread -> Int4, + body -> Text, + posted -> Timestamptz, + } +} + +table! { + threads (id) { + id -> Int4, + title -> Varchar, + body -> Text, + posted -> Timestamptz, + } +} + +joinable!(posts -> threads (thread)); + +allow_tables_to_appear_in_same_query!( + posts, + threads, +); |