Skip to main content

ensure_unique_slug

Function ensure_unique_slug 

Source
pub async fn ensure_unique_slug(
    tx: &Transaction<'_>,
    base: &str,
    exclude_id: Option<i32>,
) -> Result<String, ServerFnError>
Expand description

确保生成的 slug 在数据库中唯一。

exclude_id 不为空,则排除该文章自身; 当冲突时依次尝试 base-2base-3 …… 直到生成唯一值。

该函数应在事务内调用,确保与后续 INSERT/UPDATE 的 slug 唯一性检查 在同一个事务中完成,避免并发竞态。