Skip to main content

get_dialect

Function get_dialect 

Source
pub fn get_dialect(db_type: DbType) -> Result<Box<dyn Dialect>, DbError>
Expand description

根据数据库类型获取对应的方言实例

L-5 修复:补充示例文档

返回 Box<dyn Dialect>,可用于与 QueryBuilderSchema 等组件配合。 对于不支持 SQL 方言的数据库类型(如 Redis、MongoDB、向量库),返回 DbError::Unsupported

§示例

use sz_orm_model::db_type::DbType;
use sz_orm_model::dialect::{get_dialect, Dialect};

let dialect = get_dialect(DbType::MySQL).unwrap();
assert_eq!(dialect.quote("user"), "`user`");
assert_eq!(dialect.db_type(), DbType::MySQL);

// 不支持的类型返回错误
let err = get_dialect(DbType::Redis).unwrap_err();
assert!(matches!(err, sz_orm_model::DbError::Unsupported(_)));