- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试创建我的第一个具有数据库支持的 Rust 应用程序,我正在使用 Diesel 和 SQLite,每当我构建我的应用程序时,我都会收到以下错误消息:
failed to resolve: use of undeclared crate or module `categorys`
--> src/models.rs:14:12
|
14 | pub struct Category {
| ^^^^^^^^ use of undeclared crate or module `categorys`
error[E0433]: failed to resolve: use of undeclared crate or module `correspondents`
--> src/models.rs:21:12
|
21 | pub struct Correspondent {
| ^^^^^^^^^^^^^ use of undeclared crate or module `correspondents`
error[E0433]: failed to resolve: use of undeclared crate or module `doctypes`
--> src/models.rs:27:12
|
27 | pub struct Doctype {
| ^^^^^^^ use of undeclared crate or module `doctypes`
error[E0433]: failed to resolve: use of undeclared crate or module `documents`
--> src/models.rs:37:12
|
37 | pub struct Document {
| ^^^^^^^^ use of undeclared crate or module `documents`
error: aborting due to 4 previous errors
我的
cargo.toml
:
[package]
name = "Rekorder"
version = "0.1.0"
authors = ["ossama"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
diesel = { version = "1.4.4", features = ["sqlite"] }
diesel_cli_ext = "0.3.6"
dotenv = "0.15.0"
chrono = "0.4"
[dependencies.gtk]
version = "0.9.0"
features = ["v3_16"]
[dependencies.gio]
version = ""
features = ["v2_44"]
我的
models.rs
:
// Generated by diesel_ext
#![allow(unused)]
#![allow(clippy::all)]
use chrono::NaiveDate;
use diesel::Queryable;
use diesel::Identifiable;
use diesel::sql_types::Binary;
#[derive(Queryable, Debug, Identifiable)]
pub struct Category {
pub id: i32,
pub name: String,
pub color: Option<i32>,
}
#[derive(Queryable, Debug, Identifiable)]
pub struct Correspondent {
pub id: i32,
pub name: String,
}
#[derive(Queryable, Debug, Identifiable)]
pub struct Doctype {
pub id: i32,
pub name: String,
pub correspondent_name: Option<String>,
pub support_extra_date_number: Option<bool>,
pub icon: Option<Binary>,
}
#[derive(Queryable, Debug, Identifiable)]
#[primary_key(number, date_of_document, doc_type_id)]
pub struct Document {
pub number: i32,
pub date_of_document: NaiveDate,
pub doc_type_id: i32,
pub extra_number: Option<String>,
pub extra_date: Option<NaiveDate>,
pub correspondent_id: i32,
pub content: String,
pub notes: Option<String>,
pub category_id: Option<i32>,
pub document_file_name: Option<String>,
pub document_file_size: Option<i32>,
pub document_file: Option<Binary>,
}
我的
schema.rs
:
table! {
category (id) {
id -> Integer,
name -> Text,
color -> Nullable<Integer>,
}
}
table! {
correspondent (id) {
id -> Integer,
name -> Text,
}
}
table! {
doctype (id) {
id -> Integer,
name -> Text,
correspondent_name -> Nullable<Text>,
support_extra_date_number -> Nullable<Bool>,
icon -> Nullable<Binary>,
}
}
table! {
document (number, date_of_document, doc_type_id) {
number -> Integer,
date_of_document -> Date,
doc_type_id -> Integer,
extra_number -> Nullable<Text>,
extra_date -> Nullable<Date>,
correspondent_id -> Integer,
content -> Text,
notes -> Nullable<Text>,
category_id -> Nullable<Integer>,
document_file_name -> Nullable<Text>,
document_file_size -> Nullable<Integer>,
document_file -> Nullable<Binary>,
}
}
joinable!(document -> category (category_id));
joinable!(document -> correspondent (correspondent_id));
joinable!(document -> doctype (doc_type_id));
allow_tables_to_appear_in_same_query!(
category,
correspondent,
doctype,
document,
);
最后是我的
main.rs
:
mod models;
fn main() {
println!("Hello, world!");
}
我尝试添加
use schema::*
给我的
model.rs
没有成功,因为没有找到模型。
最佳答案
Diesel 假定您的表名是结构名称的复数形式。因为您的表名不遵循此约定,您可以明确指定表名:
#[derive(Queryable, Identifiable)]
#[table_name = "category"]
pub struct Category {
// ...
}
#[derive(Queryable, Identifiable)]
#[table_name = "correspondent"]
pub struct Correspondent {
// ...
}
// and do the same to the rest of your models...
关于sqlite - Rust Diesel 未构建错误使用未声明的 crate 或模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66398071/
我正在努力学习 Diesel以下 this tutorial .这是我使用 Diesel 创建的演示程序: #![recursion_limit = "128"] #[macro_use] exter
我已经使用 diesel 的连接池系统设置了一个系统, r2d2 , 和 r2d2-diesel充当我的 Web 应用程序的 API 主机。我一直在关注这个 blog post作为帮助我进行设置的基础
我是 Rust 的新手,我想尝试 Diesel 和 Postgres。我已按照此处描述的步骤操作: https://diesel.rs/guides/getting-started 但不幸的是,当它进
我陷入了这个错误,不知道如何修复它。 有什么想法我做错了什么吗? 错误: Compiling actix-test v0.1.0 (/Users/b/o/d/Rust/actix-test) err
我是使用rust 和柴油机的新手。我正在尝试对我的查询执行以下操作: 计数 选择 订购 限制 但是我收到了错误。 我正在使用 postgres 数据库。 我在评论中的查询上方添加了确切的错误。 这是我
嘿,我正在创建一个 API 来返回用户及其个人资料 我有来自两个独立数据库的两个表,用户和配置文件 fn handle( &mut self, query_string
嘿,我正在创建一个 API 来返回用户及其个人资料 我有来自两个独立数据库的两个表,用户和配置文件 fn handle( &mut self, query_string
rust 版本 1.18.3柴油版本 1.0.0Postgres 11在 debian 10 上 我正在尝试使用 Diesel ORM 和 postgres 在 Rust 中连接两个表。该表是帖子和用
diesel 是否可以在运行时监听和更改其模式?例如,如果在运行时添加表,我们能否在程序启动后使用 table! 宏检测变化并创建适当的表? 最佳答案 没有。模式是在编译时确定的。迁移数据库后,您需要
我想以声明方式编写表模式,例如 GORM 自动迁移 https://gorm.io/ko_KR/docs/migration.html Django 迁移 https://docs.djangopro
是否可以使用 Diesel 在 Rust 中创建新数据库?我在文档中找不到任何内容。我对 SQLite 特别感兴趣。 最佳答案 TBH,我并没有真正在文档中进行搜索,但是在 Cargo.toml 方面
我有一个函数,它接受两个可选的过滤参数,如果提供了这些参数,则过滤表中的数据。为此,我创建了一个盒装查询。我想用这个盒装查询创建一个正确的连接。 Diesel 的当前文档没有提到右连接,但它似乎更喜欢
我正在尝试根据外部参数为 order_by 指定不同的列。 这行得通,但是很丑: #[macro_use] extern crate diesel; use crate::diesel::prelud
我在 PostgreSQL 中使用 Diesel。我添加了我的迁移,它们运行良好,输出了 schema.rs 中的所有内容。文件。直到我注意到我错过了 created_at我的一些迁移的字段。我编辑了
我已经实现了 Diesel 的 Rust 项目,它生成了包含我所有表的 schema.rs 文件: table! { users (id) { id -> Uuid,
我正在尝试创建一个引用同一个表两次的结构。这样做的目的是创建一种类别的层次结构。这是我要为以下表格做的事情: create table product_category_rollup( id
我正在尝试使用通用 Diesel 函数来减少重复性任务,例如根据主键删除行。 我的一般行插入工作相对较快,但删除查询似乎相当困难。我尝试使用 find() 和 filter() 解决它。我也引用了类似
我有一个 SQL 表,我想通过 Diesel 使用它: CREATE TABLE records ( id BIGSERIAL PRIMARY KEY, record_type SMA
我有以下两个功能: pub fn get_most_recent_eth_entry(conn: &SqliteConnection) -> Result { let res = types:
我正在遵循 Diesel 示例指南,我的项目看起来完全是 like this .我想更改它,而不是运行 cargo run --bin publish_post 1,而是使用 cargo run 并显
我是一名优秀的程序员,十分优秀!