Skip to main content

tdm_server_rust/db/
mod.rs

1//! 数据库连接与 SeaORM 桥接
2//!
3//! 迁移期间 `AppState` 仍持有 `sqlx::PgPool`,仓储通过 [`from_sqlx_pool`] 获得
4//! [`DatabaseConnection`],便于逐 repo 切换且保持调用方不变。
5
6use sea_orm::{DatabaseConnection, DbErr};
7use sqlx::postgres::PgPool;
8
9pub mod shard;
10
11/// SeaORM 数据库连接类型别名
12pub type DbConn = DatabaseConnection;
13
14/// 从现有 `PgPool` 桥接为 SeaORM 连接(共享同一连接池)
15pub fn from_sqlx_pool(pool: PgPool) -> DbConn {
16    sea_orm::SqlxPostgresConnector::from_sqlx_postgres_pool(pool)
17}
18
19/// 将 `DbErr` 转为可读字符串(日志/错误响应)
20pub fn db_err_msg(e: DbErr) -> String {
21    e.to_string()
22}