问题标签 [soft-delete]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Symfony2 gedmo 软可删除关系检索无法正常工作
我正在使用 soft-Deletable 扩展,一切正常,除了 1 件事。
当我做以下等于真(伪代码):
但以下等于假
当我这样做时
我收到服务器 500 错误:找不到实体
我怎样才能使它返回null?还是我做错了?
非常感谢
neo4j - 如何在 neo4j 中软删除功能?
在 mysql 等关系数据库中,我习惯于通过设置deleted_at来进行软删除。然后检索SELECT 只需获取行 WHERE deleted_at IS NULL。
我很困惑如何在 neo4j 数据库中实现软删除。我有多种方法,但不确定哪种方法或组合会有更多优势。
我还阅读了Neo4j:使用可选关系实现软删除,但没有帮助。
- 只需设置节点deleted_at的属性。
- 删除节点标签并通过前缀“_”更改,如“Student”将变为“_Student”
- 删除关系并通过前缀“_”更改,如“TEACHES”将变为“_TEACHES”
在neo4j中实现软删除的最佳方式或组合或其他方式是什么?
sql-server - 通过 SQL Server 中的更新触发器级联外键软删除标志
是否可以on update cascade
使用触发器来实现?我编写了以下示例代码(也在http://sqlfiddle.com/#!6/d7298/1上):
这不起作用,因为CFK
约束会引发错误。我希望级联软删除,以便在软删除父记录时软删除子记录。
IsDeleted
取出CFK
可以让我将更新级联到Child
,但在高度并发的环境中,我相信应该有可能以损坏的数据库状态结束:
在 T0:实体框架将父级加载到内存中。没有删除父级。
在 T1:父级被另一个独立查询软删除
在 T2:EF 插入一条子记录,但由于IsDeleted
不是外键的一部分,因此有一个活动子记录指向已删除的父记录。
java - 使用延迟删除在 BST 中硬删除节点的方法
我在课堂上有一个作业,我们正在实现一个带有延迟删除的 BST。当一个节点被删除时,它只是被标记为已删除,并没有真正从树中删除。当我们想要实际硬删除树中标记为已删除的所有节点时,我们必须创建一个方法。
现在我正在使用一种方法,delete(),它沿着树递归。如果它找到一个标记为已删除的节点,它会调用 removeHard() 并在其中包含所有删除机制。我已经测试了 delete() 方法,我似乎正确地遍历了树并捕获了所有标记的节点,然后将这些节点传递给我的 removeHard() 方法。另外,当我在我的主要方法中公开调用 removeHard() 作为测试时,它会正确删除节点。结合起来,它要么根本不删除节点,要么创建重复项。
php - 为什么 Laravel 没有找到垃圾箱()方法>
我正在尝试在 Laravel 4.1 中使用 Elequent ORM 的软删除功能
删除记录按预期工作,但是当我使用 withTrashed() 搜索结果,然后检查它是否是使用rashed() 的软删除记录时,我收到以下错误
调用未定义的方法 Illuminate\Database\Eloquent\Collection::trashed()
这是我的代码。有什么建议么?
php - CakePHP 2.x:使用 softdelete 的级联删除不起作用
我对 CakePHP 2.x使用Utils 插件的softdelete 行为
我有以下 4 张桌子
- 顾客
- 客户地址
- 客户联系人
- 客户报告
并考虑遵循其相互关系,
1. 为客户
客户有很多客户地址
客户有很多客户联系方式
客户有很多客户报告
2. 对于 customer_addresses
客户地址属于客户
CustomerAddress 属于状态
客户地址有一个客户联系方式
CustomerAddress 有一个 CustomerReport
3.对于customer_contacts
客户联系属于客户
CustomerContact 属于 CustomerAddress
4. 对于客户报告
客户报告属于客户
CustomerReport 属于 CustomerAddress
我在引导程序中放入了以下代码。
我还在上述所有模型中添加了下面的actAs
我已经在我的 appModel 中添加了以下代码。
当我尝试在没有软删除的情况下级联删除(意味着简单的级联删除)时,它工作正常。但我的问题是。当我使用Utils 插件的 softdelete 行为时,级联删除不起作用。
我尝试使用以下代码删除记录
SQL 日志
我该如何解决这个问题?
java - hibernate常见地方的逻辑删除
我正在为我的应用程序使用 Spring 和 Hibernate。
我只允许在需要设置字段 isActive=false 的应用程序中进行逻辑删除。我没有在所有实体中重复相同的字段,而是为“isActive”创建了一个具有属性和 getter-setter 的基类。
因此,在删除期间,我调用 update() 方法并将 isActive 设置为 false。
我无法让这个工作。如果有人有任何想法,请告诉我。
基础实体
子实体
休眠实用程序类
java - 在休眠中使用@MappedSuperclass 级联软删除
我正在开发一个具有复杂数据库模式的大型应用程序。我正在使用Spring
和Hibernate
开发。我想知道如何软删除一个实体(活动字段在超类中,而不是在所有实体中)。我实施了此处提供的建议。
下面是我的实体和休眠实用程序类的结构
基础实体
子实体:
休眠实用程序类:
现在我对此有一些要求,我现在无法解决。
当我删除“角色”实体时,所有子实体也应被删除(仅对所有实体进行软删除):->我是否需要获取父实体,遍历子实体并一一删除?
角色具有与另一个实体“部门”的外键引用。如果一个部门被删除,相关的角色应该被有条件地删除(即,只有当调用者决定:在某些情况下,我们不想删除被引用的实体)。
有一些自引用列,例如“ParentRoleId”。如果一个角色被删除,它所有引用的角色也应该被删除。-> 我是否需要获取 ID,然后删除所有自引用的子实体,然后删除每个实体?例如:部门可以有一个父部门(通过使用字段:parentdeptid)。如果我删除一个父部门,所有子部门都应该被删除
如果有人对如何执行此操作有任何建议,请告诉我。
php - Laravel QueryException 绕过 try-catch?
我正在使用 Laravel 4 和 Eloquent ORM。在我的系统中,当有人删除一条记录时,它必须检查它是否有任何关联的记录。如果没有,那么它可能会被永久删除。但如果是这样,只需执行一次 softDeletion。
处理这种情况的方式是:尝试强制删除,如果它因为引用完整性而抛出异常,则捕获它并软删除。我知道这看起来很花哨,但它是由另一个开发人员制作的,我不想弄乱他的代码。
他所做的是删除,然后如果它抛出异常,只需设置一个标志以“停用”记录。它确实运作良好。然而,当我接手时,我实施了 softDeleting 以减少花哨的东西。
现在,当它尝试强制删除时,它会抛出 QueryException 但不会落入 catch 块。我尝试将 Exception 更改为 \Exception、QueryException、Illuminate\Database\QueryException,但没有成功。有任何想法吗?
为了更好地说明它:
是这样的:
现在是这样的:
萤火虫回应:
这是来自 Illuminate/Database/Eloquent/Builder.php 的 forceDelete() 函数:
java - 休眠恢复软删除的实体
我有一个实体
现在当我删除一些实体时,它实际上会设置 deleteFlag = 1 我怎样才能恢复实体?
谢谢