Difficulty with re-use of diesel schema and models

I created this repository as a minimum reproduction. GitHub - SavinaRoja/diesel_test: Just a minimal code example to replicate a problem I am having with diesel code re-use.

Basically I haven't been able to figure out how to define my diesel schema, models, etc. in one lib crate that I can use in one or more external binary crates.

I have laid out two crates here. One is the lib binding to a toy mysql database/table. This has a test binary application within that works. The second crate is a binary that references the first as a dependency and implements the same code as the test before but it does not work.

The error give at a cargo run is:

Compiling appstuff v0.1.0 (.../diesel_test/appstuff)
error[E0433]: failed to resolve: use of undeclared type or module `diesel`
 --> src/main.rs:1:5
  |
1 | use diesel::prelude::*;
  |     ^^^^^^ use of undeclared type or module `diesel`

error[E0599]: no method named `load` found for struct `dbstuff::schema::post::table` in the current scope
  --> src/main.rs:10:10
   |
10 |         .load::<Post>(&connection)
   |          ^^^^ method not found in `dbstuff::schema::post::table`
   |
   = help: items from traits can only be used if the trait is in scope
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
   |
1  | use diesel::query_dsl::RunQueryDsl;
   |

error: aborting due to 2 previous errors

Any help or references to example code would be greatly appreciated. I'm new to Rust and not certain if this is an issue specific to diesel; it could just be that I am not understanding the dependency import system well enough.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.