Prisma Studio
Prisma Studio 是一個獨立的視覺化資料庫編輯器,讓您能夠直接在瀏覽器中檢視與操作資料。Prisma 7 推出了全新的獨立版 Studio,從底層重新打造,無論是否有使用 Prisma ORM,皆可在任何環境下運作。
與先前版本不同的是,新的 Prisma Studio 是以 SQL 為驅動,完全不依賴 Prisma 架構檔案(schema file)。相反地,它會直接對您的資料庫進行內省(introspect)以了解架構結構。這意味著您可以在任何支援的資料庫上使用它,而無需建立 Prisma 架構或專案。
請注意,Prisma Studio 並非開源軟體,但您仍然可以在 prisma/studio 儲存庫中建立 Issue。所有關於「舊版 Studio」的 Issue 都將被關閉,因為先前版本將不會再有任何更新。
先決條件
Prisma Studio 是一個獨立工具,僅需資料庫連線即可運作。您有兩種選擇:
選項 1:用於任何資料庫(無需 Prisma 專案)
使用 --url 旗標直接連線至任何支援的資料庫
npx prisma studio --url="postgresql://user:password@localhost:5432/dbname"
此方式無需任何 Prisma ORM 設定,Studio 會直接對您的資料庫架構進行內省。
選項 2:用於 Prisma ORM 專案
如果您已有現成的 Prisma 專案,Studio 可以讀取您的資料庫連線設定:
- 包含資料庫連線詳細資訊的
prisma.config.ts設定檔 - 已設定好的資料庫連線
新版 Studio 不會讀取 prisma/schema.prisma 檔案。它會直接對您的資料庫進行內省以了解架構結構。
快速入門
獨立使用(無需 Prisma ORM)
若要使用任何資料庫啟動 Prisma Studio,請提供連線 URL
npx prisma studio --url="postgresql://user:password@localhost:5432/dbname"
搭配 Prisma ORM 專案使用
如果您有 Prisma 專案,請在專案目錄中執行以下指令
npx prisma studio --config ./prisma.config.ts
這兩個指令都會啟動本機網頁伺服器(預設連接埠為 5555),並在瀏覽器中開啟 Prisma Studio。Studio 會直接連線至您的資料庫,並即時內省架構,為您的資料提供視覺化介面——完全不需要 Prisma 架構檔案。
核心功能
Prisma Studio 為管理資料庫提供了多項關鍵功能
瀏覽資料
Studio 會在側邊欄顯示資料庫中的所有資料表。選取任何資料表即可以表格格式檢視資料。您可以開啟多個資料表到不同的分頁中,以便同時處理關聯資料。
檢視與編輯記錄
您可以透過兩種方式編輯資料:
- 行內編輯(Inline editing):雙擊任何儲存格,直接在表格中編輯其值。
- 側邊面板編輯(Side panel editing):點擊記錄旁的編輯圖示,開啟包含所有欄位的詳細檢視視窗。
變更會被暫存,必須使用儲存按鈕明確進行儲存。這讓您可以在將變更寫入資料庫之前進行多項編輯。
新增記錄
點擊「新增記錄(Add record)」按鈕即可建立新記錄。Studio 會根據每個欄位的資料型態提供合適的輸入控制項:
- 字串類型的文字欄位
- 整數與小數的數字輸入框
- 日期時間欄位的日期選擇器
- 列舉(enum)與布林值的下拉式選單
- 外鍵的關聯選取器
刪除記錄
使用核取方塊選取一或多筆記錄,然後點擊刪除按鈕。刪除作業需要確認,且會立即執行(無法與其他變更進行批次處理)。
篩選與搜尋
使用「篩選(Filters)」選單來縮小資料範圍
- 使用比較運算子(等於、大於、小於等)新增條件
- 透過 AND 邏輯組合多個篩選條件
- 清除個別篩選條件或一次清除所有篩選條件
控制可見性
自訂您的檢視畫面
- 欄位選單(Fields menu):顯示或隱藏特定欄位
- 顯示選單(Showing menu):透過「Take」(限制數量)與「Skip」(偏移量)選項控制分頁
排序資料
點擊任何欄位標題即可按該欄位排序。再次點擊可在遞增與遞減排序之間切換。
鍵盤快速鍵
Studio 支援常用操作的鍵盤快速鍵。按下 Cmd+/ (macOS) 或 Ctrl+/ (Windows) 即可檢視所有可用的快速鍵。
了解資料型態
Studio 會針對資料庫中不同的欄位類型顯示視覺化標示
- 文字欄位:字串值
- 數字欄位:整數與小數
- 日期/時間欄位:時間戳記與日期
- 布林值欄位:True/False 值
- 列舉(Enum)欄位:預先定義的選項清單
- 關聯欄位:對其他資料表記錄的參考(外鍵)
- JSON 欄位:結構化的 JSON 資料
這些視覺化提示有助於您在 Studio 直接從資料庫內省架構時,快速了解您的資料結構。
Prisma Studio 支援的資料庫
Prisma Studio 目前支援下列資料庫:PostgreSQL、MySQL 與 SQLite。
Prisma Studio 對 SQLite 的要求
- 目前 SQLite 的資料庫網址中的檔案路徑必須包含
file:協定 - Node.js 22.5+:透過內建的
node:sqlite模組即可直接使用- 可能需要設定
NODE_OPTIONS=--experimental-sqlite環境變數
- 可能需要設定
- Node.js 20:需要安裝
better-sqlite3作為依賴項- 若使用 pnpm 10+ 搭配
pnpx,您需要加上--allow-build=better-sqlite3旗標
- 若使用 pnpm 10+ 搭配
- Deno >= 2.2:透過 內建 SQLite 模組 支援
- Bun:Prisma Studio 對 SQLite 的支援即將推出,目前尚無法使用
npx 搭配 better-sqlite3如果您在執行階段無法使用 node:sqlite,或者不想將 better-sqlite3 安裝為強制依賴項(它會增加約 10MB 大小),您可以使用 npx 來暫時安裝所需的套件:
npx -p better-sqlite3 -p prisma prisma studio --url file:./my_file.db
此命令會
- 暫時安裝
better-sqlite3而不將其加入專案依賴項 - 使用指定的 SQLite 資料庫檔案執行 Prisma Studio
- 避免專案中增加 10MB 的
better-sqlite3開銷
尚未支援的資料庫
CockroachDB 與 MongoDB 的支援目前尚未提供,但未來版本可能會加入。如果您正在使用這些資料庫:
- CockroachDB:請探索 CockroachDB 建議的選項
- MongoDB:請使用 MongoDB Atlas、MongoDB Compass 或 MongoDB shell
疑難排解
PostgreSQL:「unrecognized configuration parameter 'schema'」錯誤
在連線至 PostgreSQL 資料庫時,如果您的連線字串包含 schema 查詢參數,可能會遇到此錯誤。
unrecognized configuration parameter "schema"
這是因為新版 Studio 是獨立運作的,它會將連線 URL 直接傳遞給 PostgreSQL 驅動程式,而不進行任何處理。您提供的 URL(無論是透過 prisma.config.ts 還是 --url 旗標)必須是一個有效的 PostgreSQL 連線字串,且僅使用 標準 PostgreSQL 連線參數。
schema 參數是 Prisma ORM 的自訂參數,在 v6 及更早版本中有效,但 PostgreSQL 本身無法識別它。
要解決此問題,請改用標準的 search_path 參數。
# ❌ This will cause an error
postgresql://user:password@host:port/database?schema=my_schema
# ✅ Use this instead
postgresql://user:password@host:port/database?options=-c%20search_path%3Dmy_schema
或者,如果您使用的是預設的 public 架構,則可以完全移除該 schema 參數,因為 PostgreSQL 會自動預設使用它。
如需更多詳細資訊,請參閱相關的 GitHub issue。
終端機:Failed to run script / Error in Prisma Client request
快取問題可能會導致 Prisma Studio 使用舊版的查詢引擎(query engine)。您可能會看到以下錯誤:
Error in request: PrismaClientKnownRequestError: Failed to validate the query Error occurred during query validation & transformation
要解決此問題,請刪除以下資料夾:
- macOS 與 Linux 上的
~/.cache/prisma - Windows 上的
%AppData%/Prisma/Studio