![](/img/trans.png)
[英]cannot find function in this scope not found in this scope in Rust
[英]error: cannot find attribute `table_name` in this scope
我想使用 rust 柴油進行頁面查詢,我正在使用此代碼在 rust 中進行單元測試:
#[cfg(test)]
mod test {
use std::env;
use diesel::{Connection, ExpressionMethods, PgConnection, QueryDsl, RunQueryDsl};
use rust_wheel::common::query::pagination::PaginateForQuerySource;
use crate::model::diesel::rhythm::rhythm_schema::favorites::dsl::favorites;
use crate::model::diesel::rhythm::rhythm_schema::favorites::like_status;
use crate::models::Favorites;
#[test]
fn page_test(){
use crate::model::diesel::rhythm::rhythm_schema::favorites::dsl::*;
use rust_wheel::common::query::pagination::{PaginateForQueryFragment, PaginateForQuerySource};
let conn = establish_music_connection();
let query = favorites
.filter(like_status.eq(1))
.paginate(1)
.per_page(10)
.load::<Favorites>(&conn)
.expect("query fav failed");
println!("{:?}", 1);
}
pub fn establish_music_connection() -> PgConnection {
let database_url = std::env::var("MUSIC_DATABASE_URL").expect("MUSIC_DATABASE_URL must be set");
PgConnection::establish(&database_url).expect(&format!("Error connecting to {}", database_url))
}
}
顯示如下錯誤:
error: cannot find attribute `table_name` in this scope
--> src/models.rs:15:3
|
15 | #[table_name = "favorites"]
| ^^^^^^^^^^
這是我的models.rs
定義,這兩個模型存儲在不同的數據庫中:
use rocket::serde::Serialize;
use serde::Deserialize;
use crate::model::diesel::dolphin::dolphin_schema::dashboard;
use crate::model::diesel::rhythm::rhythm_schema::favorites;
#[derive(Insertable, Serialize, Queryable, Deserialize,Default)]
#[table_name = "dashboard"]
pub struct Dashboard {
pub id: i32,
pub app_count: i32,
pub user_count: i32
}
#[derive(Serialize, Queryable, Deserialize,Default)]
#[table_name = "favorites"]
pub struct Favorites {
pub id: i64,
pub song_id: String,
pub created_time: i64
}
為什么會這樣? 我應該怎么做才能解決它?
只有Insertable
派生宏處理#[table_name =...]
屬性。 因此,如果您不使用它,則不應包含它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.