डीजल बेहतर कार्यक्षमता में ऑप्ट-इन करने के लिए कार्गो सुविधाओं का उपयोग करता है।
मुझे इनके लिए एक स्पष्ट दस्तावेज़ीकरण पृष्ठ नहीं मिला है, लेकिन वे इसके 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"]
आपको संख्यात्मक . सक्षम करने की आवश्यकता है सुविधा और सुनिश्चित करें कि आप डीजल के साथ संगत बिगडेसिमल के एक संस्करण का उपयोग करते हैं:
[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,
}
यह भी देखें:
- एक विशेषता को उस प्रकार के लिए क्यों लागू नहीं किया जाता है जिसने इसे स्पष्ट रूप से लागू किया है?