如何在Google App Maker的Cloud SQL中创建独特的行

时间:2018-04-26 08:25:58

标签: mysql google-cloud-sql google-app-maker

大家都是App Maker Gurus,

我可以在App Maker中创建模型(例如部门)>云SQL。我知道如何创建基本模型,部门与字段代码,名称,EffectiveDate

e.g。 代码/名称/ EFFECTIVEDATE 资讯科技/资讯科技/ 2018年1月1日 IT /信息技术与Sec / 2018年5月1日

我想提一下,实际上,2018年5月1日,IT部门被称为“信息技术与技术”。秒”。我如何执行该操作,因为我的“代码”现在是主键,由于重复键,它不接受另一行?唯一键应该是Code + EffectiveDate的组合。

如何在Google App Maker中配置?

感谢指南。

1 个答案:

答案 0 :(得分:0)

如果您可以直接访问数据库,可以设置unique constraint for multiple columns

ALTER TABLE `Department` ADD UNIQUE `unique_index`(`Code`, `EffectiveDate`);

但遗憾的是,此时App Maker并不支持多个字段的唯一约束,但您可以使用脚本强制执行它。没有处理并发性的最简单的实现是:

// onBeforeSave model event
var query = app.models.Department.newQuery();

query.filters.Code._equals = record.Code;
query.filters.EffectiveDate._equals = record.EffectiveDate;

var records = query.run();

if (records.length > 0) {
  throw new Error('Duplicate entry');
}