0

我从 Drive 表迁移到第二代 MySQL Google Cloud SQL 数据模型。我能够在 AppMaker 的以下问题表中插入 19 行:

+-------------------+--------------+------+-----+---------+-------+
| Field             | Type         | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| SurveyType        | varchar(64)  | NO   | PRI | NULL    |       |
| QuestionNumber    | int(11)      | NO   | PRI | NULL    |       |
| QuestionType      | varchar(64)  | NO   |     | NULL    |       |
| Question          | varchar(512) | NO   |     | NULL    |       |
| SecondaryQuestion | varchar(512) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+

我从命令行查询数据并知道它是好的。但是,当我像这样在 AppMaker 中查询数据时:

var newQuery = app.models.Question.newQuery();
newQuery.filters.SurveyType._equals = surveyType;
newQuery.sorting.QuestionNumber._ascending();  
var allRecs = newQuery.run();

我得到 19 行具有相同数据(第一行)而不是 19 行不同的行。知道有什么问题吗?此外(并且可能相关)我在 AppMaker 中的列表行没有显示任何数据。我确实注意到记录中的 _key 设置不正确。

(编辑:我认为可能有两列作为主键是问题所在,但我尝试让 PK 成为单个标识列,结果相同。)

感谢您提供任何提示或指示。

4

2 回答 2

0

您的表中有两个主键字段,根据 App Maker Cloud SQL 文档,这是有问题的: https ://developers.google.com/appmaker/models/cloudsql

App Maker 只能写入具有单个主键 字段的表 —如果您有一个现有的具有零个或多个主键的 Google Cloud SQL 表,您仍然可以在 App Maker 中查询它,但您不能对其进行写入。

这可能导致视图无法正确显示每一行并正确设置_key。

于 2017-03-22T18:33:02.517 回答
0

我能够通过在 AppMaker 中创建表而不是使用直接在 Cloud Shell 中创建的表来实现这一点。不确定是否不支持现有表或 AppMaker 中是否存在错误,但由于它正在工作,我将关闭它。

于 2017-03-29T19:52:14.683 回答