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

标签 rust rust-diesel

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

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

#[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
}

关于rust - 如何制作柴油自动生成模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70410103/

相关文章:

rust - 我如何使用一个库共享模型,该库应该在二进制文件中直接扩展到 Rust?

rust - 如何在 Diesel 中针对 Postgres 数据库执行带有子查询的删除?

rust - diesel 应该使用同步 actor、actix_web::web::block 还是 futures-cpupool 来运行?

rust - Mutex 可以引用结构但不能引用原语

rust - 特征 `serde::Deserialize<' _ >` is not implemented for ` diesel_geography::types::GeogPoint`

rust - 惯用的追加操作

rust - 返回响应后,在后台运行长时间运行的异步函数

rust - Diesel 是否支持 Postgres `point` 类型?

rust - 为什么 `sum += x` 与整数类型的 `sum += *x` 工作方式相同?这是自动取消引用吗?

rust - 我应该把只在测试中使用的文件放在哪里?