adonisjs 3.2删除永久(软删除)

时间:2017-09-23 04:14:09

标签: node.js adonis.js

adonisjs 3.2删除永久(软删除)

嗨,我已经在我的项目中实现了软删除,但是在我进行软删除后,是否有任何方法/功能可以从数据库中删除永久数据?

1 个答案:

答案 0 :(得分:0)

那么,您可以查询具有deleteTimestamp和实际值(Dates Timestamps)的数据,并从表中删除这些记录。

首先在你的Lucid模型中有一个方法:deleteTimestamp该方法返回用于跟踪或保持软删除记录状态的列的名称。

class YourModelName extends Lucid {

  static get deleteTimestamp () {
     return "name_of_the_field_in_your_table_for_deleteTimestamps" 
  }
}

签入你的数据库/表(MySQL,SQLite,Pg或其他),你应该知道name_of_the_field_in_your_table_for_deleteTimestamps列,你可以

query_delete_soft = `DELETE FROM table_name WHERE
   name_of_the_field_in_your_table_for_deleteTimestamps IS NOT NULL`;

使用类似的东西:

yield Database.schema.raw(query_delete_soft); // Adonis Legacy
await Database.schema.raw(query_delete_soft); // Adonis4 (Node8)