Dans la dernière partie de mon projet, je n'arrive pas à déployer correctement la base de données prisma. Le site se construit avec succès et je peux le visualiser, mais lorsque j'essaie d'accéder à la base de données, le message suivant s'affiche :
无效的 prisma.product.findUnique() 调用:表 main.Product 在当前数据库中不存在。
J'ai le schéma de 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) } ...
Dans le processus de construction sur render.com, il spécifie ce qui suit :
3 novembre 14:40:16 Importer { PrismaClient } depuis "@prisma/client" 3 novembre 14:40:16 const prisma = new PrismaClient() 3 novembre, 14:40:16
3 novembre, 14:40:19 Charger le schéma Prisma depuis server/database/schema.prisma 3 novembre 14:40:19 Source de données « db » : base de données SQLite « dev.db » située dans « file:./dev.db » 3 novembre, 14:40:19
3 novembre 14:40:19 Aucune migration trouvée dans prisma/migrations 3 novembre, 14:40:19
3 novembre, 14:40:19
3 novembre 14:40:19 Il n'y a aucun transfert en attente.
J'ai configuré la commande build :
npm 安装; prisma 生成 --schema=./server/database/schema.prisma; prisma 迁移部署 --schema=./server/database/schema.prisma; npm run build;
Il n'y avait pas de répertoire de migration dans le dernier commit à ce moment-là
Lorsque le projet sera construit, contiendra-t-il ce que j'ai configuré pour la migration ? "--schema=..." pointe-t-il vers le bon répertoire lors de la construction ?
Ce que j'ai essayé : Dans l'ensemble, j'ai plus de questions que j'en ai essayé en raison de mon manque de connaissances.
Quand je regarde le fichier de build nuxt pour ce projet, il produit une structure de fichier complètement différente de celle lorsqu'il n'a pas été construit, cela pourrait-il indiquer une erreur lors de la mise à l'échelle de la base de données SQL vers dev.db ?
De plus, SQL Lite n'est pas adapté à la production ? Si oui, quelle alternative serait la meilleure et comment installer cette base de données sur le serveur de déploiement ?
11 月 3 日 02:40:19 PM 数据源“db”:SQLite 数据库“dev.db”位于“file:./dev.db”
Cette ligne indique-t-elle qu'il a trouvé la base de données à laquelle se connecter ? Dans l’ensemble, je ne comprends pas pourquoi il ne trouve pas la table products, même si elle est fournie dans mon schéma.
La question générale est la suivante : qu'est-ce qui empêche l'application nuxt construite de voir la table lors de l'interrogation ?
OP a résolu le problème en exécutant la migration avant de créer un lien vers le schéma.