跳转到内容

从服务端查询云数据库

云数据库是门店或组织自行创建的 SQLite 库,适合存放自建服务的数据。它没有 Foodiy 订单、会员或收款表;要查门店订单,请使用业务 REST API。

在相应门店或组织的 云计算 → 云数据库 选中数据库。需要新库时选择 创建空库;给查询服务签发一个有用途名称的只读令牌。明文只显示一次,保存在你的服务端,不可放进托管网页或小程序。

将数据库 ID 和令牌分别放入环境变量 FOODIY_DB_ID、FOODIY_DB_TOKEN。下面的 Bash 示例不依赖已有业务表,也不写入数据:

curl --silent --show-error \
  --header "Authorization: Bearer ${FOODIY_DB_TOKEN}" \
  --header 'Content-Type: application/json' \
  --data '{"sql":"SELECT ? AS result","params":["已连接"]}' \
  "https://api-fdy.lintuhd.com/api/v1/cloud/databases/${FOODIY_DB_ID}/query"

成功后检查 data.columns、data.rows,本例首行应是 ["已连接"]。正式查询使用位置参数或命名参数绑定值,不要将用户输入拼进 SQL。单次请求执行一条语句,结果最多 200 行;若 truncated 为真,用稳定的排序和分页条件继续读取。

连接令牌只属于签发它的库,不能跨库或用 ATTACH 连接其他库。托管页面需要这些数据时,由自己的服务端查询,只向前端返回允许展示的字段。

备份从工作台导出,包含 SQLite 内容和租户签名;在同一所有者下恢复到新库。新库不继承旧库令牌,切换调用方前先重新签发并执行一次只读查询。