Expand description
An async-session backend implemented using sea-orm, heavily inspired by async-sqlx-session.
§Basic usage
In the following example we create a DatabaseSessionStore, which implements
the SessionStore trait from async_session.
use async_sea_orm_session::migration::Migrator;
use async_sea_orm_session::DatabaseSessionStore;
use sea_orm::{Database, DatabaseConnection};
use sea_orm_migration::MigratorTrait;
#[tokio::main]
async fn main() -> Result<(), sea_orm::DbErr> {
// Create a sea_orm::DatabaseConnection in the usual way.
let db: DatabaseConnection =
Database::connect("protocol://username:password@host/database").await?;
// Run the async_sea_orm_session migration to create the session table.
Migrator::up(&db, None).await?;
// Finally create a DatabaseSessionStore that implements SessionStore.
let store = DatabaseSessionStore::new(db);
Ok(())
}§Examples
For examples see the README in the repository.
§License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Modules§
- migration
migration - This module contains migrations to help adding the sessions table required for this crate.
- prelude
- This module exports
DatabaseSessionStoreand migration utilities. In addition, useful traits and types from bothasync_sessionandsea_orm_migrationare re-rexported.