文、意如
目前已有Next.js專案,接下來要安裝Prisma並設定MySQL
安裝 Prisma 和 MySQL 驅動
npm install prisma --save-dev

npm install @prisma/client

npm install mysql2

初始化 Prisma
npx prisma init

這會產生:
prisma/
└── schema.prisma
.env

修正 schema.prisma
裡的 generator
區塊
請打開 prisma/schema.prisma
,把這段:
generator client {
provider = "prisma-client-js"
output = "../generated/prisma"
}
改成這樣(建議使用預設路徑):
generator client {
provider = "prisma-client-js"
}
這樣 Prisma 會把 @prisma/client
產生在 node_modules/
下,
而不是自訂的 generated/prisma
,這樣不會出錯。
重新生成 Prisma Client
npx prisma generate
重新啟動一次
npm run dev
設定資料庫連線
打開 .env
,修改成你的 MySQL 資料庫連線資訊:
DATABASE_URL="mysql://root:密碼@localhost:3306/你的資料庫名稱"
將資料來源 provider 改為 MySQL
修改prisma/schema.prisma
datasource db {
- provider = "postgresql"
+ provider = "mysql"
url = env("DATABASE_URL")
}
第四步:設計 News
"最新消息"資料表欄位
model News {
id Int @id @default(autoincrement()) // PK,自動遞增
title String // 最新消息標題
image String? // 圖片(可為空)
content String // 內容
createdBy String // 建立者
createdAt DateTime @default(now()) // 建立時間
updatedBy String? // 更新者(可為空)
updatedAt DateTime? // 更新時間(可為空)
}
在 Prisma 裡,
?
表示這個欄位是「可為 null」的(也就是「非必填」)。
image String @default("")
是字串,不會是 null,預設為空字串
第五步:同步資料庫
npx prisma db push
這會根據 model 幫你建立或更新 MySQL 的資料表結構。


Yiru@Studio - 關於我 - 意如