PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

чертата `diesel::Expression` не е внедрена за `bigdecimal::BigDecimal`

Diesel използва Cargo функции, за да се включи в подобрена функционалност.

Не намерих ясна страница с документация за тях, но те са изброени в неговия Cargo.toml:

[features]
default = ["with-deprecated", "32-column-tables"]
extras = ["chrono", "serde_json", "uuid", "deprecated-time", "network-address", "numeric", "r2d2"]
unstable = ["diesel_derives/nightly"]
large-tables = ["32-column-tables"]
huge-tables = ["64-column-tables"]
x32-column-tables = ["32-column-tables"]
32-column-tables = []
x64-column-tables = ["64-column-tables"]
64-column-tables = ["32-column-tables"]
x128-column-tables = ["128-column-tables"]
128-column-tables = ["64-column-tables"]
postgres = ["pq-sys", "bitflags", "diesel_derives/postgres"]
sqlite = ["libsqlite3-sys", "diesel_derives/sqlite"]
mysql = ["mysqlclient-sys", "url", "diesel_derives/mysql"]
with-deprecated = []
deprecated-time = ["time"]
network-address = ["ipnetwork", "libc"]
numeric = ["num-bigint", "bigdecimal", "num-traits", "num-integer"]

Трябва да активирате числовото функция и се уверете, че използвате версия на bigdecimal, която е съвместима с Diesel:

[dependencies]
diesel = { version = "1.4.2", features = ["numeric"] }
bigdecimal = "0.0.14"

И кодът се компилира:

#[macro_use]
extern crate diesel;

use crate::schema::threads;
use bigdecimal::BigDecimal;

mod schema {
    table! {
        threads (id) {
            id -> Int4,
            bounty -> Numeric,
        }
    }
}

#[derive(Debug, Insertable)]
#[table_name = "threads"]
pub struct InsertableThread {
    pub bounty: BigDecimal,
}

Вижте също:

  • Защо дадена черта не е внедрена за тип, който ясно я има?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как date_part() работи в PostgreSQL

  2. Как да импортирам данни от CSV файл в PostgreSQL таблица?

  3. Променете типа на колоната и задайте не нула

  4. Стартиране и попълване на контейнер Postgres в Docker

  5. Две SQL LEFT JOINS дават неправилен резултат