问题标签 [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.

0 投票
1 回答
1658 浏览

java - 休眠软删除仍在删除我的记录

我正在尝试使用 Hibernate 实现软删除,但由于某种原因,我的记录仍然被删除。有谁介意看看。

}

这就是我注册我的会话/听众的方式

0 投票
1 回答
1945 浏览

django - Django 中的软删除:get().delete() v/s filter().delete()

我最近在 Django 中通过覆盖django.db.models.query.QuerySet和实现了软删除django.db.models.Manager

查询集:

经理:

当我使用操作从 change_list 表单中删除任何对象时,这绝对可以正常工作。但是当我转到详细视图并尝试删除该对象时,它已完全从数据库中删除

到目前为止,我已经发现问题是由于MyModel.objects.get(...).delete()造成的。为了确保我没有走错方向,我在 python shell 中检查了它:

./manage.py 外壳:

如果有人可以向我解释这种行为并建议我解决这个问题,那就太好了。

Django 1.6.5

Python 3.4.0

提前致谢 :)

0 投票
3 回答
3520 浏览

c# - 如何禁止从 Entity Framework 6 IDbCommandTreeInterceptor 执行?

我实现了 Rowan Miller 在TechEd 会议期间演示的软删除模式但是我遇到了一个直接的问题,因为我在我的 Code First 模型中使用了继承。第一个错误是在查询期间,因为我将 IsDeleted 属性放在我的超类型(基类)上,但是当我截获子类型的查询并尝试添加过滤器时,EF 抱怨该类型上没有这样的属性。很公平,我将属性移到了子类型中,并且效果还不错。但是在删除时,命令树拦截器将子类型的删除更改为“更新集 isdeleted=1”,但 EF 还为超类型(基类)生成了删除。这导致数据库中出现外键约束错误。这有点痛苦,但我可以通过禁止执行超类型的删除命令来解决它。

但是,我在拦截上下文中找不到 SuppressExecution 方法,如果我将结果设置为 null,我会得到一个 nullref 异常。我想我需要一些方法来用 NullDbCommand 或类似的命令替换命令。有任何想法吗?

0 投票
6 回答
3008 浏览

laravel - 如何确定模型是否在 Laravel 4.2 中使用软删除

如何确定模型是否在 Laravel 4.2 中使用软删除?

Laravel API中,我找到了函数 isSoftDeleting(),但显然它已从 Laravel 4.2 中删除,因为它使用了 SoftDeletingTrait。

我将如何确定模型现在是否使用软删除?

0 投票
2 回答
902 浏览

php - 在 Yii 中隐藏软删除的项目

我想知道的是:在Yii中是否可以在模型中添加某种属性,所以只有显示了属性isdeleted设置的项目0

所以我正在寻找一种方法,Yii 会忽略这些项目的实例......比如:

我认为弄乱rules()是一种方法,但它不起作用或者我做错了......

0 投票
2 回答
264 浏览

php - 使用 laravel 4 级联软删除无法按预期工作

我试图通过覆盖每个模型的delete()功能来使级联软删除工作,我认为应该从Projectto级联到Versionto Link,但问题是它似乎根本没有这样做。想法是删除项目也会删除所有版本,这将删除所有链接并清除其缓存版本,但 using$this->versions()->delete();似乎并没有真正调用模型delete()中的方法Version

关于如何让它像我期望的那样工作的任何想法?

0 投票
1 回答
1350 浏览

php - Symfony2/Doctrine - 禁用 Softdeletable 过滤器仅每隔一次有效

我正在使用 Softdeleteable 学说过滤器,但是我有一种方法可以从数据库中删除所有记录,该方法应该在删除记录之前禁用过滤器。它似乎只在每隔一次运行时才起作用(一旦记录具有 deleteAt 值)。

有人知道为什么会这样吗?

0 投票
1 回答
942 浏览

symfony - Symfony DoctrineExtensions softdeletable 返回已删除的实体

我在我的 symfony 应用程序中安装了 stof/DoctrineExtensions 并按应有的方式配置了所有内容。

当我删除一个实体时,已设置 deletedAt 并且一切正常,但是当我找到所有已删除的实体时仍然返回。

@EDIT:好的,我找到了解决方案。问题是实体 Zorgboerderij 扩展了另一个实体。softdeletable 必须在父级上。现在它可以工作了

0 投票
2 回答
48870 浏览

laravel - Laravel 软删除 restore() 错误

以下软删除代码对我来说很好用:

deleted_at 字段已更新。但这给了我一个错误:

这是错误:

我难住了。到目前为止,谷歌没有帮助。

0 投票
1 回答
402 浏览

php - 使用 SoftDeleteable 背后的连贯逻辑

每个人都知道SoftDeleteable是一个 Doctrine Extension:

这允许行为“软删除”对象,在 SELECT 时间通过将它们标记为时间戳来过滤它们,但不会从数据库中显式删除它们。

现在考虑这一点,当在表中插入新行并将上述标记为已删除但实际存在时,这将是一致的逻辑吗?

关键是我最近被迫在应用程序中使用此行为,但是当我插入新记录时,从逻辑上讲,当一个记录存在时,我收到如下错误:

执行“INSERT INTO fos_user (username, username_canonical, email, email_canonical, enabled, salt, password, last_login, locked, expired, expires_at, confirm_token, password_requested_at, roles, credentials_expired, credentials_expire_at, deletedAt, createdAt, updatedAt) VALUES ( ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) 'with params ["admin1" "admin1" "admin ", "admin", 1, "8ycal2x0eewwg0gw0o0gcw884ooossg", "886mLvLTi1yPdSBTR9Cfi + + a3lvideQ4pw89ZHDOWVz86kJqXjx7C1 1ZIwTvzET7N1Fk \ / yHsw10z3Cjm9k + m \ / g ==", null, 'a, 2: { null, null, null, 'a: 2 0;s:16:\"ROLE_PROFILE_ONE\"i:1,s:16:\"ROLE_PROFILE_TWO\";}",0,null,null,"09/12/2014 18:16:01""9/12 /2014 18:16:01"]:

SQLSTATE [23000]:完整性约束违规:1062 键 'UNIQ_957A647992FC23A8' 的重复条目 'admin1'

我的问题是,您如何处理SoftdDeleteable以输入新记录?你所做的或更少的想法的一个例子会对我很好并且会有所帮助。