toSoftDeleteSql method
Implementation
String toSoftDeleteSql(String idColumnName, String softDeleteColumnName,
String? versionColumnName) {
var where = [
conditions.toSql(wrap: false),
...joins.map((e) => e.conditions.toSql(wrap: false))
].where((element) => element.trim().isNotEmpty).join(' AND ');
if (where.isNotEmpty) where = 'where $where';
return [
'update',
tableName,
'set',
softDeleteColumnName,
'=@deleted',
if (versionColumnName != null)
', $versionColumnName=$versionColumnName+1',
'where',
idColumnName,
'in',
'('
'select',
distinct ? 'distinct' : '',
'$alias.$idColumnName',
'from',
tableName,
alias,
joins.toSql(),
where,
')'
].where((element) => element.isNotEmpty).join(' ');
}