Dalam bahagian terakhir projek saya, saya nampaknya tidak dapat menggunakan pangkalan data prisma dengan betul. Tapak ini berjaya dibina dan saya boleh melihat tapak itu, tetapi apabila saya cuba mengakses pangkalan data ia berkata seperti berikut:
无效的 prisma.product.findUnique() 调用:表 main.Product 在当前数据库中不存在。
Saya mempunyai skema untuk penghijrahan:
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) } ...
Dalam proses binaan di render.com ia menyatakan perkara berikut:
3 November 02:40:16 PTG Import { PrismaClient } daripada "@prisma/client" 3 November 02:40:16 PM const prisma = PrismaClient() baharu 3 November, 02:40:16 petang
3 November, 02:40:19 PTG Muatkan skema Prisma daripada pelayan/pangkalan data/schema.prisma 3 November 02:40:19 PTG Sumber data "db": Pangkalan data SQLite "dev.db" terletak di "file:./dev.db" 3 November, 02:40:19 malam
3 Nov 02:40:19 PTG Tiada migrasi ditemui dalam prisma/migrasi 3 November, 02:40:19 malam
3 November, 02:40:19 malam
3 Nov 02:40:19 PTG Tiada pemindahan belum selesai.
Saya telah menyediakan arahan bina:
npm 安装; prisma 生成 --schema=./server/database/schema.prisma; prisma 迁移部署 --schema=./server/database/schema.prisma; npm run build;
Tiada direktori migrasi dalam komit terkini pada masa itu
Apabila projek dibina, adakah ia akan mengandungi perkara yang saya konfigurasikan untuk penghijrahan? Adakah "--schema=..." menunjuk ke direktori yang betul semasa membina?
Apa yang saya cuba: Secara keseluruhan, saya mempunyai lebih banyak soalan daripada yang saya cuba kerana kekurangan pengetahuan saya.
Apabila saya melihat fail binaan nuxt untuk projek ini, ia menghasilkan struktur fail yang berbeza sama sekali berbanding semasa ia tidak dibina, mungkinkah ia menunjukkan ralat semasa menskalakan pangkalan data SQL kepada dev.db?
Selain itu, SQL lite tidak sesuai untuk pengeluaran? Jika ya, apakah alternatif yang lebih baik dan bagaimana untuk memasang pangkalan data ini pada pelayan penempatan?
11 月 3 日 02:40:19 PM 数据源“db”:SQLite 数据库“dev.db”位于“file:./dev.db”
Adakah talian ini menunjukkan bahawa ia menemui pangkalan data untuk disambungkan? Secara keseluruhan, saya keliru mengapa ia tidak dapat mencari jadual produk, walaupun ia disediakan dalam skema saya.
Persoalan keseluruhannya ialah, apakah yang menyebabkan aplikasi nuxt terbina tidak melihat jadual semasa membuat pertanyaan?
OP menyelesaikan masalah dengan menjalankan migrasi sebelum memaut ke skema.