我們很高興在 Prisma ORM 中推出一項新的預覽功能:將您的 Prisma Schema 整理成多個檔案的能力。了解如何在您的專案中實作此功能、探索最佳實務,並查看我們的範例專案以獲得實作範例。
經過漫長的努力,我們終於在 Prisma ORM 5.15.0 版本中推出了在您的 Prisma Schema 中使用多個檔案的功能。這旨在提升資料庫 schema 的可管理性和組織性,讓您更輕鬆地處理大型專案。作為我們最受歡迎的功能之一,我們希望您能試用 prismaSchemaFolder
預覽功能,並在 GitHub 上告訴我們您的想法。您持續的回饋將幫助我們交付像這樣的功能!
多檔案 Prisma Schema 預覽功能包含哪些內容?
新的 prismaSchemaFolder
預覽功能讓您可以在 prisma
目錄下的 schema
子目錄中定義多個檔案。Prisma 會處理檔案的合併,讓您可以在一個檔案中定義模型,然後在其他 schema 檔案中使用它,而無需匯入。我們還更新了 Prisma Visual Studio Code 擴充功能,以處理多個 schema 檔案,包括「前往定義」和存在性檢查。
如何將您的 Prisma Schema 分割成多個檔案
首先,請確保 prisma
和 @prisma/client
已更新至至少 5.15.0 版本。您還需要最新版本 (5.15.0) 的 Prisma VSCode 擴充功能,才能在您的 IDE 中利用這些更新。
若要將您的 Prisma Schema 分割成多個檔案,請先啟用 prismaSchemaFolder
預覽功能,方法是將其包含在 generator
的 previewFeatures
欄位中。
接著,在您的 prisma
目錄下建立一個 schema
子目錄。您可以將您的 schema.prisma
移至此目錄中。
現在,您可以在您的 schema
目錄中建立其他檔案了!所有模型都可以在所有檔案中被引用,因此關聯性可以跨檔案,如下所示
當執行 prisma generate
時,所有 schema 檔案都會被合併,因此您的工作流程將會像平常一樣繼續進行。其他 Prisma CLI 命令,例如 validate
和 format
也已更新,以支援多檔案 Prisma Schema。
何時使用多檔案 schema
我們已經聽到和看到,隨著專案的成長,單一檔案的 Prisma Schema 最終會達到難以有效管理的程度。如果您有以下情況,您將會立即從此功能中受益:
- 擁有複雜的 schema:如果您的 schema 具有大型模型或複雜的關聯性,將相關模型放入單獨的檔案可以幫助您更輕鬆地理解和瀏覽您的 schema。
- 擁有大型團隊:當您有一個單一的 Prisma Schema 檔案並且有多位開發人員提交程式碼時,您可能會在日常工作中遇到非常惱人的合併衝突。將大型 schema 分割成多個檔案可以幫助減少這種痛苦。
多檔案 Prisma Schema 的訣竅
我們發現一些模式可以很好地與此功能搭配使用,並幫助您充分利用它
- 依領域組織您的檔案:將相關模型分組到同一個檔案中。例如,將所有使用者相關的模型放在
user.prisma
中,而將貼文相關的模型放在post.prisma
中。盡量避免使用「大雜燴」schema 檔案。 - 使用清晰的命名慣例:schema 檔案應命名清晰簡潔。使用像
user.prisma
和post.prisma
這樣的名稱,而不是myModels.prisma
或CommentFeaturesSchema.prisma
。 - 擁有一個明顯的「主要」schema 檔案:雖然您現在可以擁有任意數量的 schema 檔案,但您仍然需要一個地方來定義
datasource
和generator
區塊。我們建議您擁有一個單一的 schema 檔案,這個檔案顯然是「主要」檔案,以便這些區塊易於查找。main.prisma
、schema.prisma
和base.prisma
是我們見過一些效果不錯的名稱。
範例專案
如果您想看看此功能在現實世界中的樣子,請查看我們從 dub.co 分叉的 dub 版本,這是我們最喜歡的 OSS 專案之一!
我們希望收到您的回饋!
我們很樂意聽取您對這項新功能的想法。請透過在我們的專屬 GitHub 討論區留言來分享您的回饋以及您可能遇到的任何問題。
不要錯過下一篇文章!
註冊 Prisma 電子報