Struct aragog::DatabaseConnection
source · pub struct DatabaseConnection { /* private fields */ }
Expand description
Struct containing ArangoDB
connections and information to access the database, collections and documents
Implementations§
source§impl DatabaseConnection
impl DatabaseConnection
sourcepub fn builder() -> DatabaseConnectionBuilder
pub fn builder() -> DatabaseConnectionBuilder
Starts the builder for the database connection instance.
For default use with env var
let db_connection = DatabaseConnection::builder()
// You can specify a host and credentials with this method.
// Otherwise, the builder will look for the env vars: `DB_HOST`, `DB_NAME`, `DB_USER` and `DB_PASSWORD`.
.with_credentials("http://localhost:8529", "db", "user", "password")
// You can specify a authentication mode between `Basic` and `Jwt`
// Otherwise the default value will be used (`Basic`).
.with_auth_mode(AuthMode::Basic)
// You can specify a schema path to initialize the database connection
// Otherwise the env var `SCHEMA_PATH` or the default value `config/db/schema.yaml` will be used.
.with_schema_path("config/db/schema.yaml")
// If you prefer you can use your own custom schema
.with_schema(DatabaseSchema::default())
// The schema wil silently apply to the database, useful only if you don't use the CLI and migrations
.apply_schema()
// You then need to build the database connection
.build()
.await
.unwrap();
You can also specify a custom DatabaseSchema
using with_schema
.
sourcepub fn collections_names(&self) -> Vec<String>
pub fn collections_names(&self) -> Vec<String>
retrieves a vector of all collection names from the database
sourcepub async fn truncate(&self)
pub async fn truncate(&self)
DESTRUCTIVE OPERATION
This will truncate all collections in the database, the collection will still exist but every document will be destryed.
Panics
If the truncate fails on some collection the method will panic, see the arangors_lite
documentation
on collection truncate.
sourcepub async fn transactions_count(&self) -> Result<usize, Error>
pub async fn transactions_count(&self) -> Result<usize, Error>
Returns the number of currently running server-side transactions
Trait Implementations§
source§impl Clone for DatabaseConnection
impl Clone for DatabaseConnection
source§fn clone(&self) -> DatabaseConnection
fn clone(&self) -> DatabaseConnection
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl DatabaseAccess for DatabaseConnection
impl DatabaseAccess for DatabaseConnection
source§fn operation_options(&self) -> OperationOptions
fn operation_options(&self) -> OperationOptions
Defines the default operation options to use on
write
operations. Read moresource§fn collection(&self, collection: &str) -> Option<&DatabaseCollection>
fn collection(&self, collection: &str) -> Option<&DatabaseCollection>
Retrieves a Collection from the database accessor.
source§fn get_collection(&self, collection: &str) -> Result<&DatabaseCollection, Error>
fn get_collection(&self, collection: &str) -> Result<&DatabaseCollection, Error>
Retrieves a Collection from the database accessor.
source§fn query<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 Query
) -> Pin<Box<dyn Future<Output = Result<QueryResult<UndefinedRecord>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query<'life0, 'life1, 'async_trait>( &'life0 self, query: &'life1 Query ) -> Pin<Box<dyn Future<Output = Result<QueryResult<UndefinedRecord>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Runs an AQL query and returns the found documents as undefined records. Read more
source§fn query_in_batches<'life0, 'life1, 'async_trait>(
&'life0 self,
query: &'life1 Query,
batch_size: u32
) -> Pin<Box<dyn Future<Output = Result<QueryCursor<UndefinedRecord>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_in_batches<'life0, 'life1, 'async_trait>( &'life0 self, query: &'life1 Query, batch_size: u32 ) -> Pin<Box<dyn Future<Output = Result<QueryCursor<UndefinedRecord>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Runs an AQL query using batches and returns a cursor on the found documents as undefined records. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for DatabaseConnection
impl Send for DatabaseConnection
impl Sync for DatabaseConnection
impl Unpin for DatabaseConnection
impl !UnwindSafe for DatabaseConnection
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more