84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
Prisma目前還不支援地理空間列。我需要在我的資料庫中新增一個MySQL GEOMETRY類型的欄位。我可以編寫一個自訂遷移,但Prisma的整個目的是管理我的遷移。
GEOMETRY
在Prisma模式檔案中,如何指定自訂列類型?可以是MySQL特定的。
根據我在2021年9月的最新知識更新,Prisma不直接支援自訂列類型在模式中。但是,您可以透過在模式中使用“Raw” SQL欄位來繞過此限制。這樣可以為特定欄位編寫自訂的SQL程式碼,有效控制Prisma不原生支援的欄位類型。 在您的情況下,您想要新增一個MySQL GEOMETRY類型的資料列,您可以在Prisma模式中定義一個原始的SQL欄位。以下是您可能如何實現的範例: ``` model YourModel { id Int @id @default(autoincrement()) name String geom String @map("geometry_column_name") @db.VarChar(255) // 依需求調整長度 } ``` 在這個範例中,`geom`字段被定義為一個`String`字段,使用`@map`進行自訂的SQL映射。 `@db.VarChar(255)`屬性用於指定資料庫中的實際欄位類型(在這種情況下,MySQL的長度為255的VARCHAR)。您應該將`"geometry_column_name"`替換為您想要使用的實際欄位名稱。 請注意,儘管這種方法允許您定義自訂列類型並使用Prisma管理的遷移,但它可能不提供Prisma的類型安全性和驗證的所有好處。此外,自上次更新以來,Prisma的功能和能力可能已經發生了變化,因此我建議查看官方的Prisma文件或最新的資源,以了解在處理自訂列類型方面是否有任何變化或改進
根據我在2021年9月的最新知識更新,Prisma不直接支援自訂列類型在模式中。但是,您可以透過在模式中使用“Raw” SQL欄位來繞過此限制。這樣可以為特定欄位編寫自訂的SQL程式碼,有效控制Prisma不原生支援的欄位類型。 在您的情況下,您想要新增一個MySQL GEOMETRY類型的資料列,您可以在Prisma模式中定義一個原始的SQL欄位。以下是您可能如何實現的範例: ``` model YourModel { id Int @id @default(autoincrement()) name String geom String @map("geometry_column_name") @db.VarChar(255) // 依需求調整長度 } ``` 在這個範例中,`geom`字段被定義為一個`String`字段,使用`@map`進行自訂的SQL映射。 `@db.VarChar(255)`屬性用於指定資料庫中的實際欄位類型(在這種情況下,MySQL的長度為255的VARCHAR)。您應該將`"geometry_column_name"`替換為您想要使用的實際欄位名稱。 請注意,儘管這種方法允許您定義自訂列類型並使用Prisma管理的遷移,但它可能不提供Prisma的類型安全性和驗證的所有好處。此外,自上次更新以來,Prisma的功能和能力可能已經發生了變化,因此我建議查看官方的Prisma文件或最新的資源,以了解在處理自訂列類型方面是否有任何變化或改進