3

我是 Rust 新手,我正在使用 Diesel 和 Actix-web 制作 API。我在 pgsql 和 mongodb 中有一个数据库,我仅将柴油 1.4.4用于pgsql

首先,我做了一个测试,用它的表和主键创建了一个数据库,一切正常。但是,总会有一些表没有主键而只有外键。

我注意到 Diesel 只支持带有主键的表,但是如果您想使用没有主键而只有外键的表,有没有办法导入该表?手动可以吗?也就是说,在 schema.rs 和我的 models.rs 中定义它。

4

1 回答 1

2

柴油不支持没有主键的表,因为从数据库的角度来看它们是不好的做法。在几乎所有情况下,都会有一些列组合形成自然主键,否则最好添加人工主键。如果您的表仅包含外键列,则自然外键将由所有这些列构成。

也就是说:只需告诉柴油应将特定(组合)列视为主键,就可以将柴油与没有主键列的表一起使用。在这种情况下,您需要table!手动为这些表编写定义。

于 2020-04-20T08:07:39.563 回答