我现在使用此命令在 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)