在AppMaker中删除数据存储区中的所有输入数据
问题描述:
我正在测试一个项目,其中两个数据库由多个关系连接(Devices
→Employees
)。这两个数据源都是Google云端硬盘表。如何删除这两个表中的所有数据,而不删除表本身?我想保持它们的元数据和关系不变,但是从新的数据开始。基于another answer,我试着按下按钮运行下面的命令:在AppMaker中删除数据存储区中的所有输入数据
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。如果您已经配置了它,那么当您删除主记录时,所有相关记录将被删除(级联删除)。如果所有你的模型中正确设置关系,那么你就需要仅从一个模型/表中删除记录和所有其他记录将被删除,以及:
PS
作为一个快速和简单的解决方法,你可以简单地创建一个全新的部署(开箱即可,所有的模型/表格都是空的)。
这很奇妙,谢谢! –