Prisma ialah ORM (Object-Relational Mapping) moden yang memudahkan interaksi dengan pangkalan data dalam aplikasi Node.js dan TypeScript. Salah satu ciri terpenting Prisma ialah sistem migrasi, yang membolehkan anda memastikan skema pangkalan data disegerakkan dengan model data aplikasi. Dalam siaran ini, kami akan meneroka aliran kerja Prisma menggunakan migrasi.
Migrasi ialah kaedah untuk mengawal dan menggunakan perubahan pada skema pangkalan data dengan cara yang sistematik dan versi. Ia membenarkan anda mentakrifkan perubahan struktur pada pangkalan data, seperti mencipta atau mengubah jadual, dengan cara yang bertambah dan boleh diterbalikkan.
Aliran kerja biasa dengan migrasi dalam Prisma melibatkan langkah berikut:
Pertama, kita perlu memasang Prisma dalam projek dan memulakannya:
npm install @prisma/client npx prisma init
Arahan ini mencipta direktori prisma yang mengandungi fail schema.prisma, tempat kami mentakrifkan model data kami.
Dalam fail schema.prisma, kami mentakrifkan model yang mewakili jadual pangkalan data. Sebagai contoh, mari kita tentukan model Pengguna:
model User { id Int @id @default(autoincrement()) email String @unique name String? }
Di sini, kami mentakrifkan jadual Pengguna dengan lajur id, e-mel dan nama.
Selepas mentakrifkan atau menukar skema, kami membuat migrasi untuk mencerminkan perubahan ini dalam pangkalan data:
npx prisma migrate dev --name init
Arahan migrate dev mencipta migrasi baharu dan menggunakan perubahan pada pangkalan data. Parameter --name membolehkan anda memberikan migrasi nama deskriptif, seperti init dalam contoh di atas.
Migrasi digunakan secara automatik pada pangkalan data apabila kami menggunakan perintah migrate dev. Ini memastikan bahawa pangkalan data sentiasa disegerakkan dengan model data yang ditakrifkan dalam schema.prisma.
Jika anda ingin menggunakan migrasi dalam persekitaran pengeluaran, gunakan arahan:
npx prisma migrate deploy
Arahan ini menggunakan semua migrasi yang belum selesai pada pangkalan data pengeluaran.
Prisma menyimpan sejarah semua migrasi yang digunakan pada pangkalan data. Ini berguna untuk menjejaki perubahan dan mengembalikan migrasi jika perlu. Untuk melihat sejarah migrasi, anda boleh menggunakan:
npx prisma migrate status
Perintah ini menunjukkan status semasa migrasi, termasuk migrasi yang telah digunakan dan yang belum selesai.
Mari kita lihat contoh praktikal tentang cara menambahkan medan baharu pada model Pengguna dan membuat migrasi untuk perubahan ini.
Tambah medan pada model Pengguna dalam schema.prisma:
model User { id Int @id @default(autoincrement()) email String @unique name String? birthdate DateTime? }
Buat migrasi baharu:
npx prisma migrate dev --name add-birthdate-to-user
Gunakan penghijrahan:
Arahan migrate dev sudah menggunakan migrasi ke pangkalan data. Kini pangkalan data akan mempunyai medan tarikh lahir baharu dalam jadual Pengguna.
Semak status penghijrahan:
npx prisma migrate status
Arahan ini akan menunjukkan bahawa penghijrahan tambah tarikh lahir kepada pengguna telah berjaya digunakan.
Aliran kerja Prisma menggunakan migrasi ialah cara yang cekap dan selamat untuk mengurus perubahan pada skema pangkalan data. Melalui urutan langkah yang jelas – mentakrifkan skema, mencipta migrasi, menggunakan perubahan dan mengurus sejarah migrasi – adalah mungkin untuk memastikan pangkalan data disegerakkan dengan model data aplikasi, memudahkan pembangunan dan penyelenggaraan perisian.
Dengan Prisma, anda bukan sahaja memudahkan pengurusan pangkalan data, tetapi anda juga memperoleh alat yang berkuasa untuk memastikan semua perubahan boleh dikesan dan boleh diterbalikkan, menyumbang kepada proses pembangunan yang lebih mantap dan tangkas.
Atas ialah kandungan terperinci Memahami Aliran Kerja Prisma Menggunakan Migrasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!