updates table schema

This commit is contained in:
2019-06-21 13:57:36 +02:00
parent 472e24a62c
commit 0f77a16a8c
10 changed files with 50 additions and 26 deletions

View File

@@ -23,18 +23,14 @@ impl Player {
Ok(players.load::<Self>(conn)?)
}
pub fn fetch_chest(player: i32, conn: &SqliteConnection) -> QueryResult<Vec<Item>> {
let owned = {
use schema::looted::dsl::*;
looted.filter(player_id.eq(player)).select(item_id).load::<i32>(conn)?
};
pub fn fetch_chest(player_id: i32, conn: &SqliteConnection) -> QueryResult<Vec<Item>> {
use schema::looted::dsl::*;
let owned = looted
.filter(owner_id.eq(player_id))
.select((id, name, base_price))
.load::<Item>(conn)?;
dbg!(&owned);
let chest = {
use schema::items::dsl::*;
items.filter(id.eq_any(owned)).load::<Item>(conn)?
};
dbg!(&chest);
Ok(chest)
Ok(owned)
}
}

View File

@@ -1,3 +1,12 @@
table! {
claims (id) {
id -> Integer,
player_id -> Integer,
loot_id -> Integer,
resolve -> Integer,
}
}
table! {
items (id) {
id -> Integer,
@@ -9,9 +18,9 @@ table! {
table! {
looted (id) {
id -> Integer,
player_id -> Integer,
item_id -> Integer,
acquired_date -> Date,
name -> Text,
base_price -> Integer,
owner_id -> Integer,
}
}
@@ -27,7 +36,13 @@ table! {
}
}
joinable!(looted -> items (item_id));
joinable!(looted -> players (player_id));
joinable!(claims -> looted (loot_id));
joinable!(claims -> players (player_id));
joinable!(looted -> players (owner_id));
allow_tables_to_appear_in_same_query!(items, looted, players,);
allow_tables_to_appear_in_same_query!(
claims,
items,
looted,
players,
);