Bagaimana untuk menentukan jenis lajur tersuai dalam Prisma?
P粉604848588
2023-08-18 10:18:26
<p>Prisma tidak menyokong lajur geospatial pada masa ini. Saya perlu menambah lajur jenis MySQL <code>GEOMETRY</code> Saya boleh menulis migrasi tersuai, tetapi keseluruhan tujuan Prisma adalah untuk menguruskan migrasi saya. </p>
<p>Bagaimana untuk menentukan jenis lajur tersuai dalam fail skema Prisma? Boleh khusus MySQL. </p>
Menurut kemas kini pengetahuan terbaharu saya pada September 2021, Prisma tidak secara langsung menyokong jenis lajur tersuai dalam skema. Walau bagaimanapun, anda boleh mengatasi had ini dengan menggunakan medan SQL "Mentah" dalam skema. Ini membolehkan anda menulis kod SQL tersuai untuk medan tertentu, dengan berkesan mengawal jenis lajur yang tidak disokong oleh Prisma secara asli. Dalam kes anda, anda ingin menambah lajur jenis MySQL GEOMETRY, anda boleh menentukan medan SQL mentah dalam skema Prisma. Berikut ialah contoh cara anda boleh melakukannya: ``` model YourModel { id Int @id @default(autoincrement()) nama String geom String @map("geometry_column_name") @db.VarChar(255) //Laraskan panjang mengikut keperluan } ``` Dalam contoh ini, medan `geom` ditakrifkan sebagai medan `String`, menggunakan `@map` untuk pemetaan SQL tersuai. Atribut `@db.VarChar(255)` digunakan untuk menentukan jenis lajur sebenar dalam pangkalan data (dalam kes ini, VARCHAR MySQL dengan panjang 255). Anda harus menggantikan `"geometry_column_name"` dengan nama lajur sebenar yang anda mahu gunakan. Harap maklum bahawa walaupun pendekatan ini membolehkan anda menentukan jenis lajur tersuai dan menggunakan migrasi yang diuruskan Prisma, pendekatan ini mungkin tidak memberikan semua manfaat keselamatan dan pengesahan jenis Prisma. Selain itu, fungsi dan keupayaan Prisma mungkin telah berubah sejak kemas kini terakhir saya, jadi saya syorkan anda menyemak dokumentasi Prisma rasmi atau sumber terkini untuk melihat sama ada terdapat sebarang perubahan atau penambahbaikan dalam mengendalikan jenis lajur tersuai