在目前資料庫中不存在表格`main.Product`。如何在render.com上部署Prisma資料庫?
P粉151720173
P粉151720173 2023-12-21 23:47:25
0
1
468

在我的專案的最後一部分中,我似乎無法正確部署 prisma 資料庫。該網站成功構建,我可以查看該網站,但當我嘗試訪問資料庫時,它顯示以下內容:

無效的 prisma.product.findUnique() 呼叫:表 main.Product 在目前資料庫中不存在。

我確實有用於遷移的架構:

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite"
  url      = "file:./dev.db"
}
...
model Product {
  id               String         @id@unique
  quantity         Int            @default(0)
  physical         Boolean        @default(false)
  onhold           Int            @default(0)
}

...

在 render.com 上的建置過程中,它指定了以下內容:

11 月 3 日 02:40:16 PM 從「@prisma/client」導入 { PrismaClient } 11 月 3 日 02:40:16 PM const prisma = new PrismaClient() 11 月 3 日下午 02:40:16

# 11 月 3 日 02:40:19 PM 從 server/database/schema.prisma 載入 Prisma 架構 11 月 3 日 02:40:19 PM 資料來源“db”:SQLite 資料庫“dev.db”位於“file:./dev.db” 11 月 3 日下午 02:40:19

# 11 月 3 日 02:40:19 PM 在 prisma/migrations 中未發現遷移 11 月 3 日下午 02:40:19

# 11 月 3 日下午 02:40:19

# 11 月 3 日下午 02:40:19 沒有待申請的遷移。

我已經設定了建置命令:

npm 安裝; prisma 產生--schema=./server/database/schema.prisma; prisma 遷移部署--schema=./server/database/schema.prisma; npm run build;

當時最新提交沒有遷移目錄

當專案建置時,它會包含我為遷移配置的內容嗎? “--schema=...”是否指向建置時的正確目錄?

我嘗試過的: 總的來說,由於我缺乏知識,我的問題比我嘗試過的還要多。

當我查看該專案的 nuxt 建置檔時,它產生的檔案結構與未建置時完全不同,當將 SQL 資料庫定標到 dev.db 時,它可能會指向錯誤嗎?

另外,SQL lite 不適合生產?如果是這樣,什麼替代方案會更好,以及如何將該資料庫安裝到部署伺服器上?

11 月 3 日 02:40:19 PM 数据源“db”:SQLite 数据库“dev.db”位于“file:./dev.db”

這一行是否表示它已找到要連接的資料庫? 總的來說,我很困惑為什麼它找不到產品表,儘管它在我的架構中提供了。

總體問題是,是什麼導致建立的 nuxt 應用程式在查詢時看不到該表?

P粉151720173
P粉151720173

全部回覆(1)
P粉186904731

OP 透過在連結到架構之前運行遷移解決了這個問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!