Mysql Rails伪删除一行
我正在寻找一种使用Rails从表中伪删除行的方法。这些行不应在任何正常的“查找搜索”中显示,除非我想显示最近删除的项目。我现在使用活动表来管理这些任务,它存储最近在行上执行的类、id和方法Mysql Rails伪删除一行,mysql,ruby-on-rails,ruby,activerecord,Mysql,Ruby On Rails,Ruby,Activerecord,我正在寻找一种使用Rails从表中伪删除行的方法。这些行不应在任何正常的“查找搜索”中显示,除非我想显示最近删除的项目。我现在使用活动表来管理这些任务,它存储最近在行上执行的类、id和方法 有没有一种方法可以在不从表中实际删除行的情况下禁用该行。有点像iTunes在歌曲旁边的复选框?您可以在表格中创建一个已删除的列。删除某些内容时,您只需更新table SET deleted=true,其中blah=true,而不是让delete函数发送delete FROM table WHERE blah=
有没有一种方法可以在不从表中实际删除行的情况下禁用该行。有点像iTunes在歌曲旁边的复选框?您可以在表格中创建一个已删除的列。删除某些内容时,您只需更新table SET deleted=true,其中blah=true,而不是让delete函数发送delete FROM table WHERE blah=true语句。然后,在查找某个内容时,如果要查找已删除的项目,请始终将条件设置为include=false或true。任何未删除的内容都将被返回,但您仍将保存有关已删除项目的信息。您可以在表中创建已删除列。删除某些内容时,您只需更新table SET deleted=true,其中blah=true,而不是让delete函数发送delete FROM table WHERE blah=true语句。然后,在查找某个内容时,如果要查找已删除的项目,请始终将条件设置为include=false或true。任何未被删除的内容都将被返回,但您仍将保存有关已删除项目的信息。您是否查看过这些信息。听起来应该能满足你的需要。你看过了吗。听起来这应该可以满足您的需要。您可以将数据复制到已删除的记录表中,但它看起来像是偏执行为或类似行为,也称为软删除 对于普通查询,是否可以添加包含“已删除为false”条件的数据库索引 什么样的查询是这些行在任何正常情况下都不应该出现的。查找。。你用的是哪一个
Stephan您可以将数据复制到已删除的记录表中,但它看起来像是偏执狂或类似的行为,也称为软删除 对于普通查询,是否可以添加包含“已删除为false”条件的数据库索引 什么样的查询是这些行在任何正常情况下都不应该出现的。查找。。你用的是哪一个 Stephan与上面删除的专栏相似,但是您可以通过使用视图来避免rails方面的麻烦 假设您有一个表,其中包含一个隐藏的列。然后,您可以使用创建视图\u table选择所有的\u列\u但\u隐藏在备份\u table中,其中hidden=false 您的模型基于视图,不需要执行任何特殊操作。您可以通过更新backing_table SET hidden=true WHERE条件来隐藏内容 类似于上面删除的列,但是您可以通过使用视图来避免rails方面的麻烦 假设您有一个表,其中包含一个隐藏的列。然后,您可以使用创建视图\u table选择所有的\u列\u但\u隐藏在备份\u table中,其中hidden=false
您的模型基于视图,不需要执行任何特殊操作。您可以通过更新backing_table SET hidden=true WHERE条件来隐藏内容 我考虑过这一点,但这将是一个真正的麻烦,肯定会造成一些混乱的activerecord语法。考虑到我在整个应用程序中查询了数百次活动行,只查询了一次删除行。您可以使用命名范围和Debug TySCAPE来保存重复。我考虑过,但这将是一个真正的麻烦,肯定会创建一些混乱的Active VordRD语法。考虑到我在整个应用程序中查询了数百次活动行,只查询了一次删除行。您可以通过使用命名范围和Debug TyScript保存重复。