- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我陷入了这个错误,不知道如何修复它。
有什么想法我做错了什么吗?
错误:
Compiling actix-test v0.1.0 (/Users/b/o/d/Rust/actix-test)
error[E0277]: the trait bound `chrono::DateTime<Utc>: FromSql<diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, Pg>` is not satisfied
--> src/app/e/api/products/properties.rs:16:61
|
16 | let query_result = web::block(move || properties::table.load::<Property>(&*con).unwrap()).await;
| ^^^^ the trait `FromSql<diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, Pg>` is not implemented for `chrono::DateTime<Utc>`
|
= help: the following implementations were found:
<chrono::DateTime<Utc> as FromSql<diesel::sql_types::Timestamptz, Pg>>
= note: required because of the requirements on the impl of `Queryable<diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, Pg>` for `chrono::DateTime<Utc>`
= note: 2 redundant requirements hidden
= note: required because of the requirements on the impl of `Queryable<(diesel::sql_types::Uuid, diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, diesel::sql_types::Uuid, diesel::sql_types::Bool, diesel::sql_types::Uuid, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Numeric, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Bool), Pg>` for `Property`
= note: required because of the requirements on the impl of `LoadQuery<_, Property>` for `schemas::products::properties::table`
note: required by a bound in `load`
--> /Users/b/.cargo/registry/src/github.com-1ecc6299db9ec823/diesel-1.4.8/src/query_dsl/mod.rs:1238:15
|
1238 | Self: LoadQuery<Conn, U>,
| ^^^^^^^^^^^^^^^^^^ required by this bound in `load`
For more information about this error, try `rustc --explain E0277`.
模型.rs
use bigdecimal::BigDecimal;
use chrono::{DateTime, Utc};
use uuid::Uuid;
#[allow(unused)]
#[derive(Queryable, serde::Serialize, serde::Deserialize, Debug, Clone)]
pub struct Property {
pub prod_prop_uuid: Uuid,
pub t: DateTime<Utc>,
pub empl_user_pvt_uuid: Uuid,
pub deleted: bool,
}
/product/properties.rs
use crate::app::db::connection::DbPool;
use actix_web::{get, web, HttpResponse, Responder};
use diesel::prelude::*;
#[get("/product/properties")]
pub async fn list(db_pool: web::Data<DbPool>) -> impl Responder {
use crate::app::db::models::products::Property;
use crate::app::db::schemas::products::properties;
let con_result = db_pool.get();
if let Err(e) = con_result {
return HttpResponse::InternalServerError().body(format!("{:?}", e));
}
let con = con_result.unwrap();
let query_result = web::block(move || properties::table.load::<Property>(&*con).unwrap()).await;
if let Err(e) = query_result {
return HttpResponse::InternalServerError().body(format!("{:?}", e));
}
HttpResponse::Ok().json(query_result.unwrap())
}
使用 diesel::pg::data_types::PgTimestamp
中的 PgTimestamp
似乎无法解决问题。
t
的数据类型是timestampz
。
尝试了diesel::pg::types::sql_types::Timestamptz
和Nullable
出现错误:
error[E0277]: the trait bound `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>: Queryable<diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, Pg>` is not satisfied
--> src/app/e/api/products/properties.rs:16:61
|
16 | let query_result = web::block(move || properties::table.load::<Property>(&*con).unwrap()).await;
| ^^^^ the trait `Queryable<diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, Pg>` is not implemented for `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>`
|
= note: required because of the requirements on the impl of `Queryable<(diesel::sql_types::Uuid, diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, diesel::sql_types::Uuid, diesel::sql_types::Bool, diesel::sql_types::Uuid, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Numeric, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Bool), Pg>` for `(uuid::Uuid, diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, uuid::Uuid, bool, uuid::Uuid, std::option::Option<i32>, std::option::Option<i32>, std::option::Option<i32>, std::option::Option<i32>, std::option::Option<i32>, std::option::Option<BigDecimal>, BigDecimal, std::option::Option<BigDecimal>, std::option::Option<BigDecimal>, std::option::Option<BigDecimal>, std::option::Option<BigDecimal>, std::option::Option<BigDecimal>, bool)`
= note: 1 redundant requirement hidden
= note: required because of the requirements on the impl of `Queryable<(diesel::sql_types::Uuid, diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, diesel::sql_types::Uuid, diesel::sql_types::Bool, diesel::sql_types::Uuid, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<Integer>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Numeric, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Nullable<diesel::sql_types::Numeric>, diesel::sql_types::Bool), Pg>` for `Property`
= note: required because of the requirements on the impl of `LoadQuery<_, Property>` for `schemas::products::properties::table`
note: required by a bound in `load`
--> /Users/b/.cargo/registry/src/github.com-1ecc6299db9ec823/diesel-1.4.8/src/query_dsl/mod.rs:1238:15
|
1238 | Self: LoadQuery<Conn, U>,
| ^^^^^^^^^^^^^^^^^^ required by this bound in `load`
error[E0277]: the trait bound `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>: serde::Serialize` is not satisfied
--> src/app/db/models/products.rs:15:5
|
15 | pub t: Nullable<Timestamptz>,
| ^^^ the trait `serde::Serialize` is not implemented for `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>`
|
note: required by a bound in `serde::ser::SerializeStruct::serialize_field`
--> /Users/b/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.137/src/ser/mod.rs:1899:12
|
1899 | T: Serialize;
| ^^^^^^^^^ required by this bound in `serde::ser::SerializeStruct::serialize_field`
error[E0277]: the trait bound `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>: serde::Deserialize<'_>` is not satisfied
--> src/app/db/models/products.rs:15:5
|
15 | pub t: Nullable<Timestamptz>,
| ^^^ the trait `serde::Deserialize<'_>` is not implemented for `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>`
|
note: required by a bound in `next_element`
--> /Users/b/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.137/src/de/mod.rs:1725:12
|
1725 | T: Deserialize<'de>,
| ^^^^^^^^^^^^^^^^ required by this bound in `next_element`
error[E0277]: the trait bound `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>: serde::Deserialize<'_>` is not satisfied
--> src/app/db/models/products.rs:15:5
|
15 | pub t: Nullable<Timestamptz>,
| ^^^ the trait `serde::Deserialize<'_>` is not implemented for `diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>`
|
note: required by a bound in `next_value`
--> /Users/b/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.137/src/de/mod.rs:1864:12
|
1864 | V: Deserialize<'de>,
| ^^^^^^^^^^^^^^^^ required by this bound in `next_value`
最佳答案
您收到的错误是提示数据库字段 Nullable<Timestampz>
的映射。到 DateTime<Utc>
。有already exists a mapping来自Timestampz
至DateTime<Utc>
,但是如果值为 null
会做什么? ?处理这个问题的最好方法是 Property
struct 是使用 Option
这将是None
如果数据库值为 null
:
pub struct Property {
pub prod_prop_uuid: Uuid,
pub t: Option<DateTime<Utc>>, // <-----
pub empl_user_pvt_uuid: Uuid,
pub deleted: bool,
}
关于postgresql - 不满足特征绑定(bind) `chrono::DateTime<Utc>: FromSql<diesel::sql_types::Nullable<diesel::sql_types::Timestamptz>, Pg>`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73626570/
我正在尝试在 mac os webapi 上使用 asp.net core 2.1 调用 View 或存储过程。 using System; using System.Linq; using Auth
我无法解决这个问题,我感到很沮丧。我想对数据库中的某个人进行基本搜索,以下内容运行良好 IQueryable dbresult = db.vwSomeView.FromSql("select * f
我将 Diesel 与 Postgres 一起使用,并希望将 text 字段查询为 *const str。柴油有实现FromSql for *const str . 文档描述: The returne
我有 dbContext.Items.FromSql("SELECT COUNT(*) FROM Items
错误信息很清楚: 'The required column 'CustomerId' was not present in the results of a 'FromSql' operation'
我想知道除了构建一个包装器来模拟 FromSql 之外还有什么方法吗? ?我知道这个方法是静态的,但是因为他们添加了类似 AddEntityFrameworkInMemoryDatabase 的东西对
我正在尝试从 Locations 表中获取列表并排除已分配给用户的 Locations。我正在尝试使用 Linq FromSQL。如果我硬编码 user.Id 参数查询有效,当我使用 user.Id
我正在使用 EF Core 3.0 将数据从 SQL Server 存储过程提取到名为 Recipient 的对象模型中。 Recipient 模型定义了几个属性,EnvelopeId 和 Name,
是否可以使用 EF Core FromSql 执行具有可选参数的存储过程? 我一直在测试一个简单的场景,用作将旧的 EF6 调用更新为 EF Core 调用的模板。我用作概念证明的测试示例: CREA
我刚刚开始使用 EF7 学习 MVC6。我有一个存储过程,我想返回模型中的一部分字段。如果我没有返回模型中的每个字段,我会得到“‘FromSql’操作的结果中不存在所需的列‘FirstName’”。
我写信是为了用 InMemory 数据库测试 FromSql 语句。我们正在尝试使用 Sqlite。 运行下面的Sql通过单元测试没有报错。 select * from dbo.Product 但是,
我想并行执行几个 SELECT 存储过程调用。 我设置我的上下文如下: public virtual DbSet> CaseGetCaseContextData { get; set; } 我的 re
我在使用 FromSql 时遇到了一个主要问题,就是这样: 我有一个这样的模型: public partial class model { public string name } 我想从数
public List GetPostsByCompanyId(int id, int s, int d, int p) { string command = @"select Id,Titl
我正在尝试使用 Entity Framework 7 中的新 FromSql 命令返回一个值。如果一切顺利,我的存储过程返回值 0,如果发生错误,则返回 1。 将 FromSql 与 DbSet 结合
我在PostgreSQL中写了一个插入函数如下: CREATE OR REPLACE FUNCTION public.insert_blog("Url" character) RETURNS vo
假设我有以下类(class): public class Person { public int Id { get; set; } public string Name { get;
我有一个整数列表: var ids = 新列表 { 10, 20 }; 我需要找到具有该 ID 的用户: context.Users.FromSqlInterpolated($@" select
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我正在使用 dot net core 创建 WebApi 我创建了从 2 个表返回数据的过程 AS:- select * from table1 select * from table2 我的型号列表
我是一名优秀的程序员,十分优秀!