我一直在once_cell
做很多只需要完成一次的工作,然后作为只读全局持久化。这很好,因为我不必传递这些东西。我想知道数据库句柄/池是否允许这样的事情?
static POOL: Pool<Postgres> = PgPoolOptions::new()
.max_connections(5)
.connect("postgres://postgres:password@localhost/test")
.await
.unwrap();
但是,唉,这不起作用,.await
因为
error[E0744]: `.await` is not allowed in a `static`
--> src/main.rs:10:31
而且,如果我尝试换行once_cell
,我会得到
static POOL = Lazy::new(|| sqlx_rt::block_on(
PgPoolOptions::new()
.max_connections(5)
.connect("postgres://postgres:password@localhost/test")
.await
) );
无论如何在这里做我想做的事