使用 Visual Studio Code SQLite 扩展来浏览 SAP Cloud Application Program
在 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, 错误消失:
- 点赞
- 收藏
- 关注作者
评论(0)