Skip to content

Commit

Permalink
allowing Queryable to be used with multiple table names
Browse files Browse the repository at this point in the history
fixing test for Queryable

fixing tests for Queryable

rustfmt tests

Update diesel_derives/tests/queryable.rs

Co-authored-by: Georg Semmler <github@weiznich.de>

fixing tests for Queryable

rustfmt tests
  • Loading branch information
snf committed Sep 8, 2023
1 parent fed0407 commit 98d2d0e
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
2 changes: 1 addition & 1 deletion diesel_derives/src/queryable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use crate::model::Model;
use crate::util::wrap_in_dummy_mod;

pub fn derive(item: DeriveInput) -> Result<TokenStream> {
let model = Model::from_item(&item, false, false)?;
let model = Model::from_item(&item, false, true)?;

let struct_name = &item.ident;
let field_ty = &model
Expand Down
24 changes: 24 additions & 0 deletions diesel_derives/tests/queryable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,27 @@ fn tuple_struct_without_column_name_annotations() {
let data = select(sql::<(Integer, Integer)>("1, 2")).get_result(conn);
assert_eq!(Ok(MyStruct(1, 2)), data);
}

#[test]
fn multiple_tables() {
#[derive(Debug, Clone, PartialEq, Eq, Queryable)]
#[diesel(table_name = users)]
#[diesel(table_name = users_)]
struct NewUser {
name: String,
hair_color: String,
}

let conn = &mut connection();
let data = select(sql::<(diesel::sql_types::Text, diesel::sql_types::Text)>(
"'red', 'red'",
))
.get_result(conn);
assert_eq!(
Ok(NewUser {
name: "red".to_string(),
hair_color: "red".to_string()
}),
data
);
}

0 comments on commit 98d2d0e

Please sign in to comment.