在 AppMaker 的数据存储中删除所有输入的数据

Deleting all entered data in a datastore in AppMaker

我正在测试一个项目,该项目包含两个通过多对一关系连接的数据库 (Devices -> Employees)。两个数据源都是 Google Drive Tables。如何在不删除表本身的情况下删除这两个表中的所有数据?我想保持他们的元数据和关系完好无损,但从新数据开始。基于 ,我尝试 运行 在按下按钮时执行以下命令:

var records = app.models.Device.newQuery().run(); 
app.deleteRecords(records);
var records = app.models.Employee.newQuery().run(); 
app.deleteRecords(records);

但我收到错误消息:

app.models.Device.newQuery is not a function at AddDevice.Button1.onClick:1:33

而且我不确定从那里去哪里。提前致谢。

首先,您应该 运行 在 服务器端 此代码:

// server script
function deleteAll() {
  var records = app.models.Employee.newQuery().run(); 
  app.deleteRecords(records);
  ...
}


// Client script, for instance button's onClick event handler
google.script.run.deleteAll();

那么您可以通过指定 relation Owner 来简化您的生活。如果您配置了它,那么当您删除主记录时,所有相关记录都将被删除(级联删除)。如果您为所有模型正确设置关系,那么您只需要删除一个 model/table 中的记录,所有其他记录也将被删除:

PS

作为一种快速简单的解决方法,您可以简单地创建一个全新的部署(开箱即用,所有 models/tables 都将为空)。