无法在脱机模式下将DATABASE_URL和BIN NAME标志传递给sqlx的货物准备



我试图在离线模式下运行postgres数据库,使用sqlx cli通过运行命令sqlx prepare来准备sqlx-data.json文件,以便根据这些指令离线工作:

https://github.com/launchbadge/sqlx/blob/master/sqlx-cli/README.md enable-building-in-offline-mode-with-query

我已经在我的.env文件中设置了这个环境变量SQLX_OFFLINE=true,并且得到了以下错误,并且像这样传递了--database-url:

✦ ❯ cargo sqlx prepare -- --bin my-project --database-url postgres://postgres@localhost?db_name=postgres&user=postgres&password=postgres 
[1] 13748
[2] 13749
[2]+  Done                    user=postgres
✦2 ❯ error: The following required arguments were not provided:
--database-url <database-url>
USAGE:
cargo sqlx prepare <args>... --database-url <database-url>
For more information try --help
^C^C

我感到困惑,因为命令似乎成功了,然后几秒钟后,我得到一个错误信息。

我被明确要求提供一个bin,我想知道如何提供database-urlbin name。似乎我只能与一个或另一个工作,但我得到错误的两个?

✦ ❯ error: extra arguments to `rustc` can only be passed to one target, consider filtering
the package by passing, e.g., `--lib` or `--bin NAME` to specify a single target
error: `cargo check` failed with status: exit status: 101
cargo sqlx prepare --database-url postgres://postgres@localhost?db_name=postgres&user=postgres&password=postgres
[1]+  Exit 1                  cargo sqlx prepare --database-url postgres://postgres@localhost?db_name=postgres
[1] 14236
[2] 14237
[2]+  Done                    user=postgres
✦2 ❯ error: extra arguments to `rustc` can only be passed to one target, consider filtering
the package by passing, e.g., `--lib` or `--bin NAME` to specify a single target
error: `cargo check` failed with status: exit status: 101
^C
[1]+  Exit 1                  cargo sqlx prepare --database-url postgres://postgres@localhost?db_name=postgres

任何帮助都将非常感激。提前感谢!

sqlx使用您的.env文件来解析DATABASE_URL,因此如果您在那里设置了cargo sqlx prepare,则在运行时不需要传递它。

最新更新