7 个不稳定版本
0.3.0 | 2023 年 3 月 8 日 |
---|---|
0.2.0 | 2023 年 1 月 20 日 |
0.1.2 | 2022 年 9 月 20 日 |
0.1.1 | 2022 年 7 月 8 日 |
#1500 在 数据库接口
149 每月下载量
15KB
137 行
async-sea-orm-session
使用 sea-orm 实现的 async-session 后端,深受 async-sqlx-session 影响。
更多信息可以在 crate 文档 中找到。
基本用法
以下示例中,我们创建了一个实现 async-session 的 DatabaseSessionStore
。
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
目录中提供了完整的示例。欢迎贡献展示不同设置的示例!
- axum-example
此示例将 axum 网络应用框架与 async-sea-orm-session
(用于会话存储)和 tower-cookies(用于 cookie 管理)结合使用。
默认情况下,此示例使用内存中的 sqlite 数据库运行。您也可以从 axum-example
子目录中运行以下命令以使用 postgres 数据库:
DATABASE_URI=postgres://username:password@host/database cargo run --features postgres
许可证
以下任一许可证下授权:
- Apache License,版本 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
依赖关系
~9–18MB
~261K SLoC