如何制作柴油自动生成模型

how to make diesel auto generate model

我现在使用此命令在 Rust Diesel 中生成模式:

diesel --database-url postgres://postgres:kZLxttcZSN@127.0.0.1:5432/rhythm \
migration run --config-file="${CURRENT_DIR}"/diesel-rhythm.toml

这是 toml 配置:

[print_schema]
file = "src/model/diesel/rhythm/rhythm_schema.rs"

# This will cause only the users and posts tables to be output
filter = { only_tables = ["favorites", "songs", "playlist"] }

是否可以让diesel自动生成模型实体?该实体可能如下所示:

#[derive( Serialize, Queryable, Deserialize,Default)]
pub struct Music {
    pub id: i64,
    pub name: String,
    pub source_id: String
}

现在我通过句柄编写实体。怎么让它通过diesel cli生成,我看了文档,没找到有用的配置。

您正在寻找diesel_cli_ext

第一次安装diesel_cli_ext:

cargo install diesel_cli_ext

[然后] 如果您还没有生成架构文件,则必须以柴油方式生成:

diesel print-schema > src/schema.rs

最后你必须生成模型文件:

diesel_ext --model > src/models.rs

模式文件中的模型将在 src/models.rs 中生成,例如:

#[derive(Queryable)]
pub struct Music {
    pub id: i64,
    pub name: String,
    pub source_id: String
}