在 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 都将为空)。
我正在测试一个项目,该项目包含两个通过多对一关系连接的数据库 (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 都将为空)。