作为应用制作工具开发者,您可以将 Google 表格中的数据导入到 Cloud SQL,也可以将 Cloud SQL 中的数据导出到 Google 表格。
云端硬盘表格模型已弃用;您不能再向这些模型中导入数据,但仍可从其中导出数据。
导入数据
您可以通过以下任一方式导入数据:
- 将单个选定表格中的数据导入到选定部署中的选定模型。
- 将电子表格中的所有数据导入到选定部署中的所有模型,并保留数据间的所有关系。
应用制作工具可导入选定表格或电子表格中的所有数据,具体取决于您的导入设置。在导入期间,您可以向模型添加数据或更新现有数据,但不能同时执行这两项操作。如果您需要对导入的数据进行更精细的控制,请使用服务器脚本。
导入要求
在导入数据之前,请查看以下有关应用访问权限和数据格式的要求。您可以先手动验证数据,然后再导入数据,也可以尝试直接导入数据。如果应用制作工具在数据验证期间发现问题,您需要先解决这些问题,然后再重试。
数据导入要求 | |
---|---|
访问权限 |
|
数据量 | 数据量受限于以下条件中第一个达到者:
要导入更多数据,您可以按如下所述操作:
|
列 |
|
行 | 应用制作工具会从表格的第二行开始导入数据,直到最后一个含有数据的行。空行将作为空记录导入。
注意:如果模型中包含必填字段,但表格中包含空行,则数据验证将失败。 |
数据格式 | 以下任何数据类型的单元格均可为空。空单元格会被解释为 null(对于字符串、数字和日期类型的字段)和 false (对于布尔值类型的字段)。注意:对于必填字段,单元格不能为空,否则数据验证将失败。
|
关系 | 如需了解详情,请参阅“在 Google 表格中表示关系”。 |
数据的导入原理
应用制作工具会在模型中为每个导入行创建一条记录,但如果您在导入时指定更新操作,则工具会更新现有记录。
对于带有 _key
或 _key(primary-key-id)
值的记录,该工具会按如下方式进行处理:
- 如果具有该键的记录已存在,则当您选择 Update existing data 时,系统会更新该记录。
- 如果具有该键的记录不存在,则当您选择更新现有数据 (Update existing data) 时,系统不会添加该记录。
- 如果具有该键的记录不存在,并且您未选择更新现有数据 (Update existing data),系统将使用该键创建一条记录。
对于具有单个主键(例如,以下示例中名为
_key(id)
的列)的 Cloud SQL 模型,_key
列的优先级更高。如果_key
值为空,则_key(id)
值将被用作主键。例如:应用制作工具按如下方式处理键值:
- google.com - 不具有
_key
值,因此应用制作工具使用主键。 - gmail.com - 具有
_key
值和主键。_key
值会替换主键。 - youtube.com - 具有
_key
值,因此应用制作工具使用该值。
- google.com - 不具有
在导入操作期间,已在使用该应用的用户可能看不到导入的数据。已导入数据的可见性取决于应用的编写方式和用户执行的操作。重新加载运行应用的浏览器页面后,用户将可以看到这些数据。
从 Google 表格中导入数据
- (可选)验证表格中的数据是否满足数据要求。
- 在应用制作工具中,打开要向其中导入数据的应用。
- 在导航窗格中,点击任何模型。
- 点击左上角的
Import Data from Sheet。
- 在 Published deployment 下拉列表中,选择要向其中导入数据的部署。
- 选择导入类型:
- 要将电子表格中的所有数据导入到所有模型中,请选择 All models and relations data。
- 要将单个表格中的数据导入到一个模型中,请选择单个模型数据 (Single model data)。
- 如果您选择了单个模型数据 (Single model data),请点击模型下拉列表,然后选择用于导入数据的模型。
- 点击选择,再选择要从中导入数据的电子表格,然后再次点击选择。
- 如果您选择了单个模型数据 (Single model data),请点击表格 (Sheet) 下拉列表,然后选择包含待导入数据的表格。
选择用于更新或添加数据的选项:
要使用导入的数据更新现有模型数据,请点击
Advanced,然后选择 Data already exists? update existing data。- 记录必须具有键值(
_key
或_key(primary-key-id)
)。应用制作工具会使用该键值将导入的数据与现有数据关联起来。现有数据随即会更新。 - 如果您选择了 Data already exists? update existing data,则不会添加新数据。
- 记录必须具有键值(
要向模型添加数据,请勿选择 Data already exists? update existing data。如果您选择了所有模型和关系数据 (All models and relations data),则可以在添加新数据之前删除所有现有数据。点击
Advanced,然后选择 Delete all existing data before import。- 如果新数据不具有键值,则系统会添加新记录并为其创建键值。如果您在未删除现有数据的情况下再次导入相同数据,则系统会使用新键再次添加记录。您的模型数据将包含具有不同键的重复记录。
- 如果导入的数据具有键值,那么除非您删除现有数据,否则这些键值无法与现有记录的值匹配。由于两条记录不能具有相同键,因此导入操作将失败。
点击导入。
应用制作工具会根据数据要求验证源数据。如果成功通过验证,则应用制作工具会导入数据。
在验证和导入操作正在进行期间,您可以在应用制作工具编辑器中处理其他页面。导入状态消息会显示在应用制作工具界面底部。
如果应用制作工具报告错误,请更正表格中的错误,然后点击导入。
如果应用制作工具报告导入成功完成,请点击完成。
导出数据
您可以从个别模型中导出数据,也可以从包含任何关系的应用中导出所有数据。应用制作工具可以导出选定部署中选定模型的所有数据。如果您需要对导出的数据进行更精细的控制,请使用服务器脚本。
应用制作工具不会在导出时执行数据验证。模型验证条件仅适用于应用界面中的数据条目和数据导入操作。
导出要求
在导出数据之前,请查看以下有关应用访问权限和数据格式的要求。
数据导出要求 | |
---|---|
访问权限 |
|
数据量 | 数据量受限于以下条件中第一个达到者:
要导出更多数据,您可以按如下所述操作:
|
数据的导出原理
应用制作工具会在表格中创建一个具有以下特征的电子表格:
- 为每个导出模型创建一个包含模型中的所有记录的表格。
- 每个导出字段对应第一行中含有相应字段名称的列。各列按模型中的字段顺序排列。
- 如果您导出所有模型和关系,则第一列的名称为
_key(primary-key-id)
。该列包含用于将不同模型中的记录相关联的键值。关系信息会列在模型表格或单独的表格中,具体取决于模型的类型。如需了解详情,请参阅在 Google 表格中表示关系。 - 如果模型具有主键,则表格中的各行按该主键排序。如果模型不具有主键,则各行的顺序与模型中记录的顺序相同。
包含日期或时间信息的数据按如下方式进行处理:
将数据导出到 Google 表格
- 在应用制作工具中,打开该应用。
- 点击 Settings Deployments。
- 在包含待导出数据的部署旁边,点击向下箭头 ,然后点击 Export data。
选择导出选项:
- 要将所有数据导出到一个电子表格中,请选择所有模型和关系数据 (All models and relations data)。
- 要将一个或多个模型中的数据导出到一个电子表格中,请选择选定模型数据 (Selected models data)。
点击导出。
在 Google 表格中表示关系
如何在 Google 表格中表示关系取决于涉及的是一对一关系、多对一关系还是多对多关系。
一对一关系和多对一关系
对于使用一对一关系或多对一关系的模型,其所对应表格中的最后几列将以各关联方命名。模型中关联记录的主键名称充当列值。
在以下示例中:
- CompanyRating 模型跟踪公司评分数据。
- Company 模型跟踪公司信息,包括已编译的评分数据。
- CompanyRating 模型中的“Ratings”和“Company”之间具有多对一关系。
CompanyRating 表格中最后一列的名称为“Company”(代表关联方)。该列包含与每个评分关联的公司的主键名称。
多对多关系
对于多对多关系,各项关系会单独列在一个名为“<关系名称>(<开始模型名称> - <结束模型名称>)”的表格中。该表格包含两个列,每一列分别对应关系中涉及的其中一个模型。各行会列出所有关联的本地键对。如果某记录不具有任何关联,则它不会包含在此表格中。
在以下示例中:
- Company 表格列出了三家公司,而 Region 表格列出了四个区域。
- Companies - CompanyRegions (Company - Region) 表格包含关系数据。“Companies - CompanyRegions”是关系名称。
- 多对多关系用两个列表示,即“Company”和“CompanyRegions”,每个列分别对应关系中涉及的其中一个模型。关联方模型中的主键名称充当列值。
关系数据显示了 Vendor 3 公司与两个区域有关联,North America 区域与两家公司有关联。
要进一步了解如何导出模型关系,您可以使用供应商评分模板。首先部署应用并向其添加一些数据。然后,导出数据并查看电子表格。
同时执行导入和导出操作
虽然一次执行一个导入或导出操作是万无一失的做法,但应用制作工具支持您和应用的其他任何开发者同时执行以下操作:
- 您可以同时为任何部署运行任何类型的数据导出作业。
- 您可以同时将数据导入到不同的部署中。
- 在将所有模型和关系导入部署时,您不能对同一部署运行其他任何类型的数据导入作业。
- 在将数据导入到单个模型中时,您可以同时将数据导入到其他模型中。但是,不能同时对同一模型运行导入作业。