gpt4 book ai didi

sqlite - Next.js SSR 与本地 SQLite : "unable to open database file"

转载 作者:行者123 更新时间:2023-12-05 06:00:44 33 4
gpt4 key购买 nike

我正在创建一个带有本地 ~250MB SQLite 数据库的小型 Next.js 应用程序。我将 mydb.sqlite 文件放在项目的根文件夹中,并使用 better-sqlite3 导入它。 :

import sqlite from 'better-sqlite3';

export const db = sqlite('./mydb.sqlite');

我有几个服务器端呈现 (SSR) 路由,它们从数据库查询数据并将它们呈现在 React 页面中。这在本地与 localhost:3000 上的 next dev 一起运行良好。但是,当我部署到 Vercel 并访问相同的 SSR 页面时,我在运行时收到错误:

ERROR   SqliteError: unable to open database file

值得注意的是,由于数据库大于 100MB,我无法将其提交到 git。相反,在我的构建阶段,我下载它:

// package.json
"scripts": {
"build": "curl $DB_URL -o mydb.sqlite && next build",
},

我还有一些查询数据库的静态生成 (SSG) 页面,这些页面是正确生成的。只有 SSR 页面在运行时才会出现该错误。

有什么我忘了做的事吗?我必须将数据库提交给 git 吗?我应该配置 webpack 配置吗?

网上找了sqlite + next.js,但总是涉及到prisma;我更喜欢纯 SQL 查询。

最佳答案

vercel 上的 SSR 页面由其无服务器功能呈现。这些函数内部没有分层的 sqllite 文件,因此您会遇到无法打开的错误。

关于sqlite - Next.js SSR 与本地 SQLite : "unable to open database file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67493040/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com