From 622f4f399c3966e8572da842ee324b5d69a6159e Mon Sep 17 00:00:00 2001 From: Peter Farr Date: Thu, 7 Feb 2019 10:21:07 -0800 Subject: [PATCH] Flesh out database examples in the API documentation: * Demonstrate multiple databases in ROCKET_DATABASES environment variable. * Add a second example of connection guard type creation. --- contrib/lib/src/databases.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/contrib/lib/src/databases.rs b/contrib/lib/src/databases.rs index c2f8b481..4a2da28e 100644 --- a/contrib/lib/src/databases.rs +++ b/contrib/lib/src/databases.rs @@ -177,7 +177,14 @@ //! guide](https://rocket.rs/v0.4/guide/configuration/#environment-variables): //! //! ```bash -//! ROCKET_DATABASES={my_db={url="db.sqlite"}} +//! ROCKET_DATABASES='{my_db={url="db.sqlite"}}' +//! ``` +//! +//! Multiple databases can be specified in the `ROCKET_DATABASES` environment variable +//! as well by comma separating them: +//! +//! ```bash +//! ROCKET_DATABASES='{my_db={url="db.sqlite"},my_pg_db={url="postgres://root:root@localhost/my_pg_db"}}' //! ``` //! //! ## Guard Types @@ -203,6 +210,21 @@ //! # } //! ``` //! +//! Other databases can be used by specifying their respective [`Poolable`] +//! type: +//! +//! ```rust +//! # extern crate rocket; +//! # #[macro_use] extern crate rocket_contrib; +//! # #[cfg(feature = "postgres_pool")] +//! # mod test { +//! use rocket_contrib::databases::postgres; +//! +//! #[database("my_pg_db")] +//! struct MyPgDatabase(postgres::Connection); +//! # } +//! ``` +//! //! The macro generates a [`FromRequest`] implementation for the decorated type, //! allowing the type to be used as a request guard. This implementation //! retrieves a connection from the database pool or fails with a