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

Dol*_*hin 12 rust rust-diesel

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

diesel --database-url postgres://postgres:kZLxttcZSN@127.0.0.1:5432/rhythm \
migration run --config-file="${CURRENT_DIR}"/diesel-rhythm.toml
Run Code Online (Sandbox Code Playgroud)

这是 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"] }
Run Code Online (Sandbox Code Playgroud)

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

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

现在我通过句柄编写实体。我应该怎么做才能让它由diesel cli生成,我阅读了文档,但没有找到任何有用的配置。

4_5*_*5_4 17

您正在寻找diesel_cli_ext

首先安装diesel_cli_ext:

cargo install diesel_cli_ext
Run Code Online (Sandbox Code Playgroud)

[然后]如果您还没有的话,您将必须以柴油方式生成模式文件:

diesel print-schema > src/schema.rs
Run Code Online (Sandbox Code Playgroud)

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

diesel_ext --model > src/models.rs
Run Code Online (Sandbox Code Playgroud)

架构文件中的模型将在src/models.rs以下位置生成:

#[derive(Queryable)]
pub struct Music {
    pub id: i64,
    pub name: String,
    pub source_id: String
}
Run Code Online (Sandbox Code Playgroud)