Skip to main content

soft_delete_update_sql

Function soft_delete_update_sql 

Source
pub fn soft_delete_update_sql(table: &str, field: &str, pk: &str) -> String
Expand description

构造软删除 UPDATE SQL(UPDATE {table} SET {field} = NOW() WHERE {pk} = ?

对齐 PHP delete() 的软删除行为:UPDATE SET delete_time = NOW() WHERE pk = ?

注:sz-orm-core 的 Repository 实际执行软删除,此函数仅提供 SQL 片段用于 测试和文档参考,不应直接用于业务代码。

安全约束table / field / pk 必须为编译期确定的模型定义字段名, 禁止传入用户输入。debug 构建下会通过 debug_assert! 校验标识符合法性, release 构建跳过校验以零成本运行。

§示例

use sz_rust_core::hooks::soft_delete_update_sql;

let sql = soft_delete_update_sql("users", "delete_time", "id");
assert_eq!(sql, "UPDATE users SET delete_time = NOW() WHERE id = ?");