嗨,我已经在我的项目中实现了软删除,但是在我进行软删除后,是否有任何方法/功能可以从数据库中删除永久数据?
答案 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)