假設我們的 SAP Business Technology Platform 平臺上已經開發好了一個 products-service
專案:
我們希望在另一個 bookstore 專案裡,重用 products-service
專案。
開啟 products-service
專案,在 package.json 裡找到其 name
的值:@sap/capire-products
建立一個 bookstore 專案:
mvn -B archetype:generate -DarchetypeArtifactId=cds-services-archetype -DarchetypeGroupId=com.sap.cds \
-DarchetypeVersion=1.17.0 \
-DgroupId=com.sap.cap -DartifactId=bookstore
使用 open workspace 的功能開啟這個專案:
執行如下命令列,安裝指向 products-service
專案的依賴:
npm install $(npm pack ../products-service -s)
成功安裝完畢,現在在 bookstore
專案裡,就能看到其依賴 products-service
的實現了:
npm pack 從 products-service 建立一個 tarball,然後直接將其用作書店應用程式中的依賴項。 有關 npm 包的更多資訊:https://docs.npmjs.com/cli-co...。
使用下面的命令列安裝依賴:
npm install && npm dedupe
現在 bookstore
專案的 package.json 裡,就能看到 products-service
專案的依賴了。
在 db 資料夾下新建一個 schema.cds
檔案,維護 domain model:
在 srv 資料夾下建立一個 services.cds
檔案:
在 db 資料夾下新建一個 data 資料夾,然後把 4 個 sample data 的 csv 檔案放置進去。
使用命令列部署 domain model 到 sqlite:
cds deploy --to sqlite
自動生成了一個 sqlite.db
檔案,該檔名維護在 package.json 檔案裡,檔案位於專案根目錄下:
修改專案裡的 Application.yaml 檔案,將資料庫的位置指向剛剛執行的命令列 cds deploy --to sqlite
生成的 sqlite.db
檔案。
第 11 行設定成 never 的原因是因為我們已經用命令列 cds deploy --to sqlite
對資料庫進行了初始化操作。
修改 Business Application Studio 的 settings.json
檔案,新增如下內容:
"sqltools.connections": [
{
"name": "sqlite",
"dialect": "SQLite",
"database": "/home/user/projects/bookstore/sqlite.db"
}
]
選擇 SQLTools
:
可以看到剛才透過 csv 檔案插入的資料:
使用如下 url:
https://workspaces-ws-pdwk4-a...
就能訪問到之前透過 sap.capire.bookstore-Books.csv
插入到 SQLite 裡的資料了: