diff options
-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, +); |