You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Fly.io托管的SQLite数据库并操作线上数据

Remix Indie Stack Fly.io 部署相关问题解答

核心疑问明确答复

  • 访问线上SQLite数据库不需要单独安装系统级SSH客户端,Windows环境下flyctl本身内置SSH连接组件,你遇到的握手认证报错和SSH是否安装无关,是权限证书配置问题。
  • Fly.io平台上看不到独立的SQLite数据库资源是正常现象,SQLite是文件型数据库,没有独立运行的服务实例,你的线上库文件就存在应用绑定的持久化卷上,默认路径为/data/sqlite.db,配置在项目的Prisma配置文件中,应用重启不会丢失数据。

SSH连接报错修复步骤

按顺序执行以下命令即可修复认证失败问题,修复后就能用README提供的命令连接数据库:

  1. 先升级本地flyctl到最新版本:flyctl.exe version update
  2. 为当前设备签发Fly.io实例的SSH访问证书:fly ssh issue --agent
  3. 证书签发完成后,执行fly ssh console -C database-cli,会自动拉起Prisma Studio的线上数据库代理,你可以直接在本地浏览器打开可视化界面,直接操作线上表的所有数据,不需要额外装数据库客户端。

无SSH场景下操作线上数据库的替代方案

如果暂时不想配置SSH,可以用以下两种方案操作线上数据:

  • 方案1:文件传输法
    1. 通过flyctl的sftp能力连接应用实例,把持久化卷上的/data/sqlite.db文件下载到本地项目目录
    2. 本地执行npx prisma studio即可浏览、编辑下载的库文件
    3. 编辑完成后,先停掉线上应用避免并发写入冲突,再把修改后的db文件传回原路径覆盖,重启应用即可生效
  • 方案2:临时路由挂载法
    1. 在项目Remix路由目录下新增一个仅自己可访问的管理员路由,服务端直接挂载Prisma Studio的请求处理逻辑
    2. 重新部署应用后,通过线上域名访问该路由即可直接操作数据库
    3. 操作完成后务必删除该路由重新部署,避免公网暴露数据库入口造成数据泄露。

Prisma + SQLite 快速上手技巧

日常使用只需要记住几个核心命令即可,不需要提前啃完所有文档:

  • 修改完prisma/schema.prisma里的表结构定义后,直接执行npx prisma db push就能把结构同步到对应数据库,SQLite场景下这个命令比生成迁移文件的流程更轻便
  • 任何时候要可视化查看、编辑表数据,直接执行npx prisma studio,会自动在本地5555端口启动web管理界面,不需要安装第三方数据库客户端工具
  • 写业务逻辑、批量导数据时,直接引入项目里生成的Prisma Client实例调用方法即可,会自动做类型校验,大部分场景不需要手写原生SQL

学习建议

  • 先过一遍Prisma的基础CRUD操作语法,1小时左右就能覆盖90%日常开发场景
  • 转变服务端数据库的使用思路:SQLite是单文件数据库,不存在独立的数据库服务进程,不要尝试在云平台控制台找独立的数据库实例
  • SQLite并发写入能力有限,适合中小流量的个人站点,后续如果站点流量上涨,直接按Indie Stack的文档切换为Postgres数据库即可,Prisma层的代码几乎不需要改动。

内容的提问来源于stack exchange,提问作者WildThing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:21:11