Prisma Postgres 快速入門
在本快速入門指南中,你將學習如何在一個純 TypeScript 專案中從頭開始使用 Prisma ORM 和 Prisma Postgres 資料庫。它涵蓋了以下工作流程
- 建立 Prisma Postgres 資料庫
- 模式遷移和查詢 (透過 Prisma ORM)
- 連線池和快取 (透過 Prisma Accelerate)
如果你想將 Prisma Postgres 與其他 ORM 或資料庫庫(如 Drizzle ORM、TypeORM 或 Kysely)一起使用,你可以按照此處的說明操作。
先決條件
要成功完成本教程,你需要
1. 在平臺控制檯中設定 Prisma Postgres 資料庫
按照以下步驟建立你的 Prisma Postgres 資料庫
- 登入到並開啟控制檯。
- 在你選擇的工作區中,點選 New project 按鈕。
- 在 Name 欄位中輸入你的專案名稱,例如 hello-ppg。
- 在 Prisma Postgres 部分,點選 Get started 按鈕。
- 在 Region 下拉選單中,選擇離你當前位置最近的區域,例如 US East (N. Virginia)。
- 點選 Create project 按鈕。
此時,你將被重定向到 Database 頁面,你需要等待幾秒鐘,直到資料庫狀態從 PROVISIONING 變為 CONNECTED。
一旦出現綠色的 CONNECTED 標籤,你的資料庫就可以使用了!
2. 下載示例並安裝依賴項
複製控制檯中顯示的 try-prisma 命令,將其貼上到你的終端並執行。
作為參考,該命令如下所示
npx try-prisma@latest \
--template databases/prisma-postgres \
--name hello-prisma \
--install npm
try-prisma 命令終止後,進入專案目錄
cd hello-prisma
3. 設定資料庫連線 URL
你的資料庫連線透過 .env 檔案中的環境變數進行配置。
首先,將現有的 .env.example 檔案重新命名為 .env
mv .env.example .env
然後,在平臺控制檯的專案環境中,在 Set up database access 部分找到你的資料庫憑據,複製 DATABASE_URL 環境變數並將其貼上到 .env 檔案中。
作為參考,該檔案現在應如下所示
DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=ey...."
4. 建立資料庫表(透過模式遷移)
接下來,你需要建立資料庫表。你可以透過使用 Prisma CLI 的以下命令建立並執行模式遷移來完成此操作
npx prisma migrate dev --name init
這將把你的Prisma 模式中定義的 User 和 Post 模型對映到你的資料庫。你還可以檢視已執行的 SQL 遷移,該遷移在新建的 prisma/migrations 目錄中建立了表。
5. 使用 Prisma ORM 執行查詢
src/queries.ts 指令碼包含多個 CRUD 查詢,它們將寫入和讀取資料庫中的資料。你可以透過在終端中執行以下命令來執行它
npm run queries
指令碼完成後,你可以檢查終端中的日誌或使用 Prisma Studio 探索資料庫中已建立的記錄
npx prisma studio
6. 使用 Prisma Accelerate 探索快取
src/caching.ts 指令碼包含一個示例查詢,該查詢使用Stale-While-Revalidate (SWR) 和Time-To-Live (TTL) 來使用 Prisma Accelerate 快取資料庫查詢。你可以按如下方式執行它
npm run caching
注意執行查詢所花費的時間,例如
The query took 2009.2467149999998ms.
現在,再次執行指令碼
npm run caching
你會注意到這次查詢花費的時間會短很多,例如
The query took 300.5655280000001ms.
7. 後續步驟
在本快速入門指南中,你學習瞭如何在純 TypeScript 專案中開始使用 Prisma ORM。你可以隨意自行探索 Prisma Client API,例如,在 findMany 查詢中包含過濾、排序和分頁選項,或者探索更多操作,如 update 和 delete 查詢。
在 Prisma Studio 中探索資料
Prisma ORM 附帶一個內建的 GUI,用於檢視和編輯資料庫中的資料。你可以使用以下命令開啟它
npx prisma studio
使用 Prisma Postgres,你還可以直接在中透過選擇你專案中的 Studio 選項卡來使用 Prisma Studio。
使用 Next.js 構建全棧應用程式
瞭解如何在全棧應用程式中使用 Prisma Postgres
探索可立即執行的 Prisma ORM 示例
檢視 GitHub 上的 prisma-examples 倉庫,瞭解如何將 Prisma ORM 與你喜歡的庫一起使用。該倉庫包含使用 Express、NestJS、GraphQL 的示例,以及使用 Next.js 和 Vue.js 的全棧示例等等。
這些示例預設使用 SQLite,但你可以按照專案 README 中的說明,通過幾個簡單的步驟切換到 Prisma Postgres。
保持與 Prisma 的聯絡
透過與 我們的活躍社群 保持聯絡,繼續你的 Prisma 之旅。保持資訊暢通,積極參與,與其他開發者協作
- 在 X 上關注我們 獲取公告、直播活動和實用技巧。
- 加入我們的 Discord 提問、與社群交流,並透過對話獲得積極支援。
- 在 YouTube 上訂閱 獲取教程、演示和直播。
- 在 GitHub 上互動 透過給倉庫加星、報告問題或貢獻問題。