Database 如何从Rocket中的环境建立数据库连接?

Database 如何从Rocket中的环境建立数据库连接?,database,rust,settings,rust-rocket,Database,Rust,Settings,Rust Rocket,我为我的Rocket应用程序设置了以下工作数据库连接: main.rs: #[数据库(“my_db”)] 发布结构DbConn(diesel::PgConnection); Rocket.toml: [global.databases] my_db = { url = "postgres://user:pass@localhost/my_db" } 我想从环境中设置用户名、密码和数据库名称。希望它像ROCKET\u MY\u DB一样=postgres://user:pa

我为我的Rocket应用程序设置了以下工作数据库连接:

main.rs:

#[数据库(“my_db”)]
发布结构DbConn(diesel::PgConnection);
Rocket.toml:

[global.databases]
my_db = { url = "postgres://user:pass@localhost/my_db" }
我想从环境中设置用户名、密码和数据库名称。希望它像
ROCKET\u MY\u DB一样=postgres://user:pass@localhost/my_db
,但它不起作用。找不到火箭的相关数据库示例

我想从环境中设置用户名、密码和数据库名称。没有找到火箭的相关例子

新闻头版

Rocket和Rocket库通过Rocket.toml文件和/或Rocket_{PARAM}环境变量进行配置。有关如何配置火箭的更多信息,请参阅本指南的配置部分以及配置模块文档

请点击链接:

所有配置参数(包括附加参数)都可以通过环境变量重写。要重写配置参数{param},请使用名为ROCKET{param}的环境变量。例如,要覆盖“端口”配置参数,您可以使用以下选项运行应用程序:

ROCKET\u PORT=3721./您的应用程序

经过大量的实验(因为没有针对数据库的具体说明,我希望有一种更像标准方法的方法:
ENV_PARAM=conn_string
,即在Diesel中),我最终发现我需要将一个复杂对象放置到环境中

解决方案是这样一个丑陋的字符串:


ROCKET_数据库={my_数据库={url=”postgres://user:pass@localhost/my_db“}}

谢谢,我看到了这些说明。我的问题是针对数据库设置的,因为文档中不清楚需要哪个参数以及如何构造它。在大多数框架(包括Diesel)中,这需要单个连接字符串参数。我期望的答案(最终找到):
ROCKET\u DATABASES={my\u db={url=”postgres://user:pass@localhost/my_db“}}