使用 Visual Studio Code SQLite 扩展来浏览 SAP Cloud Application Program

举报
汪子熙 发表于 2022/05/17 22:22:41 2022/05/17
【摘要】 在 SAP Cloud Application Programming 编程模型里,我们可以使用下面的命令行,使用持久化数据库( persistent database ) 来存储 entity 的数据。cds deploy --to sqlite:my.dbcds deploy --to sqlite:my.dbfilling sap.capire.bookshop.Authors fro...

在 SAP Cloud Application Programming 编程模型里,我们可以使用下面的命令行,使用持久化数据库( persistent database ) 来存储 entity 的数据。

cds deploy --to sqlite:my.db

cds deploy --to sqlite:my.db
filling sap.capire.bookshop.Authors from db\data\sap.capire.bookshop-Authors.csv
filling sap.capire.bookshop.Books from db\data\sap.capire.bookshop-Books.csv
/> successfully deployed to ./my.db

/> updated ./package.json

这条命令会在工程文件夹下面生成一个my.db文件。

.db 格式的文件,在 Visual Studio Code 里无法直接打开:

可以安装这个名为 sqlite 的 Visual Studio Code 扩展:

安装完毕后,能在 Visual Studio Code 左边看到一个新的 SQLITE EXPLORER面板,里面可以浏览 my.db 文件里包含的数据库表和视图:

右键菜单里选择 Show Table,即可查看指定数据库表里的内容:

还可以自己编辑 SQLite Query,然后通过右键菜单 Run Selected Query 来执行:

在做 SAP Cloud Application Programming 练习时,遇到如下的错误消息:
SQLITE_ERROR: table sap_capire_bookshop_books has no column named currency

在我的 schema 定义里,Books entity 里确实存在一个叫做 currency 的字段,但其数据类型为 Currency,来自 @sap/cds/common,而非 built-in 数据类型比如 Integer,String,Decimal等等。

然而通过 csv 文件导入数据到 sqlite in memory 数据库时,却遇到了本文标题描述的错误消息。

这里有个窍门,访问 url:

http://localhost:4004/browse/Books?$top=11

发现Books entity的currency字段,其对应的数据库字段名称应该为 currency_code, 而非 currency:

在 csv 文件里将字段名改为 currency_code, 错误消失:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。