Die Tabelle „main.Product' ist in der aktuellen Datenbank nicht vorhanden. Wie stelle ich die Prisma-Datenbank auf render.com bereit?
P粉151720173
P粉151720173 2023-12-21 23:47:25
0
1
471

Im letzten Teil meines Projekts kann ich die Prisma-Datenbank anscheinend nicht richtig bereitstellen. Die Site wurde erfolgreich erstellt und ich kann sie anzeigen, aber wenn ich versuche, auf die Datenbank zuzugreifen, wird Folgendes angezeigt:

无效的 prisma.product.findUnique() 调用:表 main.Product 在当前数据库中不存在。

Ich habe das Schema für die Migration:

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)
}

...

Im Build-Prozess auf render.com wird Folgendes angegeben:

3. November 14:40:16 Importieren Sie { PrismaClient } aus „@prisma/client“ 3. November 14:40:16 Uhr const prisma = new PrismaClient() 3. November, 14:40:16 Uhr

3. November, 14:40:19 Uhr Laden Sie das Prisma-Schema von server/database/schema.prisma 3. November 14:40:19 Uhr Datenquelle „db“: SQLite-Datenbank „dev.db“ unter „file:./dev.db“ 3. November, 14:40:19 Uhr

3. November 14:40:19 Keine Migrationen in Prisma/Migrationen gefunden 3. November, 14:40:19 Uhr

3. November, 14:40:19 Uhr

3. November 14:40:19 Uhr Es sind keine Überweisungen ausstehend.

Ich habe den Build-Befehl eingerichtet:

npm 安装; prisma 生成 --schema=./server/database/schema.prisma; prisma 迁移部署 --schema=./server/database/schema.prisma; npm run build;

Zu diesem Zeitpunkt gab es im letzten Commit kein Migrationsverzeichnis

Enthält das Projekt beim Erstellen das, was ich für die Migration konfiguriert habe? Zeigt „--schema=…“ beim Erstellen auf das richtige Verzeichnis?

Was ich versucht habe: Insgesamt habe ich aufgrund meiner mangelnden Kenntnisse mehr Fragen, als ich versucht habe.

Wenn ich mir die Nuxt-Build-Datei für dieses Projekt anschaue, erzeugt sie eine völlig andere Dateistruktur als zu dem Zeitpunkt, als sie nicht erstellt wurde. Könnte dies auf einen Fehler beim Skalieren der SQL-Datenbank auf dev.db hinweisen?

Außerdem ist SQL Lite nicht für die Produktion geeignet? Wenn ja, welche Alternative wäre besser und wie installiert man diese Datenbank auf dem Bereitstellungsserver?

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

Zeigt diese Zeile an, dass die Datenbank gefunden wurde, zu der eine Verbindung hergestellt werden soll? Insgesamt bin ich verwirrt darüber, warum die Produkttabelle nicht gefunden werden kann, obwohl sie in meinem Schema bereitgestellt wird.

Die allgemeine Frage lautet: Was führt dazu, dass die erstellte Nuxt-Anwendung die Tabelle bei Abfragen nicht sieht?

P粉151720173
P粉151720173

Antworte allen(1)
P粉186904731

OP 通过在链接到架构之前运行迁移解决了该问题。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!