我正在测试一个项目,其中包含两个由MANY-ONE关系连接的数据库(Devices
- > Employees
)。两个数据源都是Google Drive Tables。如何删除这两个表中的所有数据,而不删除表本身?我想保持他们的元数据和关系完整,但从新数据开始。基于another answer,我试图按下按钮运行以下命令:
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
我不知道从那里去哪里。提前谢谢。
答案 0 :(得分:3)
首先,您应该在服务器端:
上运行此代码// 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来简化您的生活。如果已配置,则删除主记录时将删除所有相关记录(级联删除)。如果您正确设置了所有模型的关系,那么您只需要从一个模型/表中删除记录,所有其他记录也将被删除:
<强> PS 强>
作为一种快速简单的解决方法,您只需创建一个全新的部署(开箱即用,所有模型/表格都将为空)。