最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

rust - the trait bound NaiveDateTime is not satisfied for AsChangeset - Stack Overflow

programmeradmin4浏览0评论

I am trying to add and change timestamp values of a table in diesel. I can add the values of the timestamp using Queryable but the AsChangeset trait is not implemented with the NaiveDateTime from chrono.

#[derive(Queryable, Deserialize, Serialize, AsChangeset)]
#[diesel(table_name = journal)]
#[diesel(treat_none_as_null = true)]
pub struct Journal {
    pub id: i32,
    pub voucher_no: String,
    pub ledger_id: i32,
    pub transaction_type_id: i32,
    pub transaction_reference: Option<String>,
    pub transaction_date: Option<NaiveDateTime>,
    pub description: Option<String>,

    #[diesel(sql_type = Numeric)]
    pub debit: Option<bigdecimal::BigDecimal>,
    #[diesel(sql_type = Numeric)]
    pub credit: Option<bigdecimal::BigDecimal>,

    pub currency_code: Option<String>,
    pub created_at: Option<NaiveDateTime>,
    pub updated_at: Option<NaiveDateTime>
}
type here

Producing errors at NaiveDateTime values imported from chrono.

Cargo.toml:

[package]
name = "backend"
version = "0.1.0"
edition = "2021"

[dependencies]
#----Web Framework----
actix-web = "4.9.0"
actix-cors = "0.7.0"
#----JSON Data----
serde = {version = "1.0.217", features = ["derive"]}
serde_json = "1.0.134"
#-----Data types------
chrono = { version = "0.4.39", features = ["serde"]}
bigdecimal = {version = "0.4.7", features = ["serde"]}
#----Database Framework----
diesel = {version = "2.2.6", features = ["postgres", "chrono", "numeric"]}
dotenvy = "0.15"

#----Debug----
env_logger = "0.11.6"

Error in Terminal

harshet@Cormac:~/Documents/Project/School-Project/backend$ cargo build
   Compiling backend v0.1.0 (/home/harshet/Documents/Project/School-Project/backend)
warning: unused `#[macro_use]` import
 --> src/main.rs:2:1
  |
2 | #[macro_use]
  | ^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `NaiveDate`
 --> src/models.rs:1:29
  |
1 | use chrono::{NaiveDateTime, NaiveDate};
  |                             ^^^^^^^^^

warning: unused import: `User`
 --> src/ops/user_data.rs:3:30
  |
3 | use crate::models::{NewUser, User};
  |                              ^^^^

warning: unused import: `JournalData`
 --> src/ops/accounts.rs:3:57
  |
3 | use crate::{db::establish_connection, models::{Journal, JournalData, Ledger, LedgerData, TransactionTypeData}};
  |                                                         ^^^^^^^^^^^

warning: unused import: `crate::schema::journal::dsl::*`
  --> src/ops/accounts.rs:10:9
   |
10 |     use crate::schema::journal::dsl::*;
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0277]: the trait bound `std::option::Option<NaiveDateTime>: AppearsOnTable<schema::journal::table>` is not satisfied
  --> src/models.rs:60:45
   |
60 | #[derive(Queryable, Deserialize, Serialize, AsChangeset)]
   |                                             ^^^^^^^^^^^ the trait `AppearsOnTable<schema::journal::table>` is not implemented for `std::option::Option<NaiveDateTime>`, which is required by `diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>: diesel::AsChangeset`
   |
   = help: the following other types implement trait `AppearsOnTable<QS>`:
             `&'a T` implements `AppearsOnTable<QS>`
             `(T0, T1)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
           and 197 others
   = note: required for `diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>` to implement `diesel::AsChangeset`
   = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::option::Option<NaiveDateTime>: AppearsOnTable<schema::journal::table>` is not satisfied
  --> src/models.rs:60:45
   |
60 | #[derive(Queryable, Deserialize, Serialize, AsChangeset)]
   |                                             ^^^^^^^^^^^ the trait `AppearsOnTable<schema::journal::table>` is not implemented for `std::option::Option<NaiveDateTime>`, which is required by `diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &'update std::option::Option<NaiveDateTime>>: diesel::AsChangeset`
   |
   = help: the following other types implement trait `AppearsOnTable<QS>`:
             `&'a T` implements `AppearsOnTable<QS>`
             `(T0, T1)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
           and 197 others
   = note: required for `&'update std::option::Option<NaiveDateTime>` to implement `AppearsOnTable<schema::journal::table>`
   = note: required for `diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &'update std::option::Option<NaiveDateTime>>` to implement `diesel::AsChangeset`
   = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::option::Option<NaiveDateTime>: AppearsOnTable<schema::journal::table>` is not satisfied
  --> src/models.rs:60:45
   |
60 | #[derive(Queryable, Deserialize, Serialize, AsChangeset)]
   |                                             ^^^^^^^^^^^ the trait `AppearsOnTable<schema::journal::table>` is not implemented for `std::option::Option<NaiveDateTime>`, which is required by `(diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::voucher_no, diesel::expression::bound::Bound<diesel::sql_types::Text, std::string::String>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::ledger_id, diesel::expression::bound::Bound<Integer, i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_type_id, diesel::expression::bound::Bound<Integer, i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_reference, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::description, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::debit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::credit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::currency_code, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::created_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, std::option::Option<NaiveDateTime>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::updated_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, std::option::Option<NaiveDateTime>>>>): diesel::AsChangeset`
   |
   = help: the following other types implement trait `AppearsOnTable<QS>`:
             `&'a T` implements `AppearsOnTable<QS>`
             `(T0, T1)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
           and 197 others
   = note: required for `diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>` to implement `diesel::AsChangeset`
   = note: 1 redundant requirement hidden
   = note: required for `(Grouped<Eq<voucher_no, Bound<Text, String>>>, Grouped<Eq<ledger_id, Bound<Integer, i32>>>, Grouped<Eq<..., ...>>, ..., ..., ..., ..., ..., ..., ..., ...)` to implement `diesel::AsChangeset`
   = note: the full name for the type has been written to '/home/harshet/Documents/Project/School-Project/backend/target/debug/deps/backend-8645559aa283900e.long-type-3605992901548973283.txt'
   = note: consider using `--verbose` to print the full type name to the console
   = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `std::option::Option<NaiveDateTime>: AppearsOnTable<schema::journal::table>` is not satisfied
  --> src/models.rs:60:45
   |
60 | #[derive(Queryable, Deserialize, Serialize, AsChangeset)]
   |                                             ^^^^^^^^^^^ the trait `AppearsOnTable<schema::journal::table>` is not implemented for `std::option::Option<NaiveDateTime>`, which is required by `(diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::voucher_no, diesel::expression::bound::Bound<diesel::sql_types::Text, &'update std::string::String>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::ledger_id, diesel::expression::bound::Bound<Integer, &'update i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_type_id, diesel::expression::bound::Bound<Integer, &'update i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_reference, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &'update std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &'update std::option::Option<NaiveDateTime>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::description, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &'update std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::debit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, &'update std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::credit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, &'update std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::currency_code, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &'update std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::created_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, &'update std::option::Option<NaiveDateTime>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::updated_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, &'update std::option::Option<NaiveDateTime>>>>): diesel::AsChangeset`
   |
   = help: the following other types implement trait `AppearsOnTable<QS>`:
             `&'a T` implements `AppearsOnTable<QS>`
             `(T0, T1)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6)` implements `AppearsOnTable<QS>`
             `(T0, T1, T2, T3, T4, T5, T6, T7)` implements `AppearsOnTable<QS>`
           and 197 others
   = note: required for `&'update std::option::Option<NaiveDateTime>` to implement `AppearsOnTable<schema::journal::table>`
   = note: required for `diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &'update std::option::Option<NaiveDateTime>>` to implement `diesel::AsChangeset`
   = note: 1 redundant requirement hidden
   = note: required for `(Grouped<Eq<voucher_no, Bound<Text, &String>>>, Grouped<Eq<ledger_id, Bound<Integer, &i32>>>, Grouped<Eq<..., ...>>, ..., ..., ..., ..., ..., ..., ..., ...)` to implement `diesel::AsChangeset`
   = note: the full name for the type has been written to '/home/harshet/Documents/Project/School-Project/backend/target/debug/deps/backend-8645559aa283900e.long-type-13353381141181145315.txt'
   = note: consider using `--verbose` to print the full type name to the console
   = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `as_changeset` exists for tuple `(Grouped<Eq<voucher_no, Bound<Text, String>>>, Grouped<Eq<ledger_id, Bound<Integer, i32>>>, Grouped<Eq<..., ...>>, ..., ..., ..., ..., ..., ..., ..., ...)`, but its trait bounds were not satisfied
  --> src/models.rs:60:45
   |
60 | #[derive(Queryable, Deserialize, Serialize, AsChangeset)]
   |                                             ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
   |
  ::: /home/harshet/.cargo/registry/src/index.crates.io-6f17d22bba15001f/diesel-2.2.6/src/expression/grouped.rs:8:1
   |
8  | pub struct Grouped<T>(pub T);
   | --------------------- doesn't satisfy `<_ as AsChangeset>::Target = _` or `_: AsChangeset`
   |
   = note: the full type name has been written to '/home/harshet/Documents/Project/School-Project/backend/target/debug/deps/backend-8645559aa283900e.long-type-3605992901548973283.txt'
   = note: consider using `--verbose` to print the full type name to the console
   = note: the following trait bounds were not satisfied:
           `<diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>> as diesel::AsChangeset>::Target = _`
           which is required by `(diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::voucher_no, diesel::expression::bound::Bound<diesel::sql_types::Text, std::string::String>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::ledger_id, diesel::expression::bound::Bound<Integer, i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_type_id, diesel::expression::bound::Bound<Integer, i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_reference, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::description, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::debit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::credit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::currency_code, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::created_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, std::option::Option<NaiveDateTime>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::updated_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, std::option::Option<NaiveDateTime>>>>): diesel::AsChangeset`
           `diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>>: diesel::AsChangeset`
           which is required by `(diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::voucher_no, diesel::expression::bound::Bound<diesel::sql_types::Text, std::string::String>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::ledger_id, diesel::expression::bound::Bound<Integer, i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_type_id, diesel::expression::bound::Bound<Integer, i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_reference, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, std::option::Option<NaiveDateTime>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::description, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::debit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::credit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::currency_code, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::created_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, std::option::Option<NaiveDateTime>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::updated_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, std::option::Option<NaiveDateTime>>>>): diesel::AsChangeset`
   = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: the method `as_changeset` exists for tuple `(Grouped<Eq<voucher_no, Bound<Text, &String>>>, Grouped<Eq<ledger_id, Bound<Integer, &i32>>>, Grouped<Eq<..., ...>>, ..., ..., ..., ..., ..., ..., ..., ...)`, but its trait bounds were not satisfied
  --> src/models.rs:60:45
   |
60 | #[derive(Queryable, Deserialize, Serialize, AsChangeset)]
   |                                             ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
   |
  ::: /home/harshet/.cargo/registry/src/index.crates.io-6f17d22bba15001f/diesel-2.2.6/src/expression/grouped.rs:8:1
   |
8  | pub struct Grouped<T>(pub T);
   | --------------------- doesn't satisfy `<_ as AsChangeset>::Target = _` or `_: AsChangeset`
   |
   = note: the full type name has been written to '/home/harshet/Documents/Project/School-Project/backend/target/debug/deps/backend-8645559aa283900e.long-type-2080127087631790061.txt'
   = note: consider using `--verbose` to print the full type name to the console
   = note: the following trait bounds were not satisfied:
           `<diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &std::option::Option<NaiveDateTime>>> as diesel::AsChangeset>::Target = _`
           which is required by `(diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::voucher_no, diesel::expression::bound::Bound<diesel::sql_types::Text, &std::string::String>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::ledger_id, diesel::expression::bound::Bound<Integer, &i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_type_id, diesel::expression::bound::Bound<Integer, &i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_reference, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &std::option::Option<NaiveDateTime>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::description, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::debit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, &std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::credit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, &std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::currency_code, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::created_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, &std::option::Option<NaiveDateTime>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::updated_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, &std::option::Option<NaiveDateTime>>>>): diesel::AsChangeset`
           `diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &std::option::Option<NaiveDateTime>>>: diesel::AsChangeset`
           which is required by `(diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::voucher_no, diesel::expression::bound::Bound<diesel::sql_types::Text, &std::string::String>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::ledger_id, diesel::expression::bound::Bound<Integer, &i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_type_id, diesel::expression::bound::Bound<Integer, &i32>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_reference, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::transaction_date, &std::option::Option<NaiveDateTime>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::description, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::debit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, &std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::credit, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Numeric>, &std::option::Option<BigDecimal>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::currency_code, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Text>, &std::option::Option<std::string::String>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::created_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, &std::option::Option<NaiveDateTime>>>>, diesel::expression::grouped::Grouped<diesel::expression::operators::Eq<schema::journal::columns::updated_at, diesel::expression::bound::Bound<diesel::sql_types::Nullable<diesel::sql_types::Timestamp>, &std::option::Option<NaiveDateTime>>>>): diesel::AsChangeset`
   = note: this error originates in the derive macro `AsChangeset` (in Nightly builds, run with -Z macro-backtrace for more info)

发布评论

评论列表(0)

  1. 暂无评论