Prisma គឺជាកញ្ចប់នៃភាសា JavaScript ប្រើប្រាស់សំរាប់ភ្ជាប់ទំនាក់ទំនងជាមួយនឹងមូលដ្ឋានទិន្នន័យស្ទើរគ្រប់ប្រភេទទាំងអស់ ទាំងមូលដ្ឋានទិន្នន័យ SQL មានដូចជា MySQL, PostgreSQL, SQL Server, PlanetScale, CockroachDB និងមូលដ្ឋានទិន្នន័យ NoSQL មានដូចជា MongoDB ជាដើម។ ជារួម Prisma គឺជាភាសា JavaScript ម៉្យាងដែលជា ORM (Object Relational Mapping) អនុញ្ញាតិអោយយើងអាចភ្ជាប់ទំនាក់ទំនងជាមួយនឹងមូលដ្ឋានទិន្នន័យស្ទើរគ្រប់ប្រភេទទាំងអស់ ក្នុងការបញ្ចេញបញ្ចូលទិន្នន័យ។ ដូចនេះ បើយើងចេះភាសា Prisma មួយទៀត យើងនឹងលែងមានបញ្ហាក្នុងការភ្ជាប់ទំនាក់ទំនងជាមួយនឹងមូលដ្ឋានទិន្នន័យប្រភេទណាក៏បាន ដោយប្រើភាសា Prisma តែមួយដូចគ្នា។
ជាដំបូង យើងចាំបាច់ត្រូវតំលើងកញ្ចប់ Prisma នៅក្នុងកម្មវិធីគេហទំព័រ Astro របស់យើង ដោយសរសេរនៅលើបង្អួច Terminal ថា៖
npm install prisma --save-dev
បន្ទាប់មកទៀត យើងត្រូវបង្កើតគំរោង Prisma មួយដោយសរសេរនៅលើបង្អួច Terminal ថា៖
npx prisma init
ជាលទ្ធផលថត prisma និងឯកសារ .env ត្រូវបានបង្កើតឡើងនៅក្នុងថតដើមនៃកម្មវិធីគេហទំព័ររបស់យើង។ នៅក្នុងថត prisma យើងឃើញមានឯកសារមួយមានឈ្មោះថា schema.prisma ក៏ត្រូវបានបង្កើតឡើងដែរ។
យើងនឹងភ្ជាប់ទំនាក់ទំនងជាមួយនឹងមូលដ្ឋានទិន្នន័យ MongoDB ដែលមានគេហទំព័រជា MongoDB Atlas ។ បើយើងមិនទាន់មានគណនីជាមួយនឹងមូលដ្ឋានទិន្នន័យនេះទេ យើងអាចបង្កើតគណនីមួយជាមួយនឹងមូលដ្ឋានទិន្នន័យនេះដោយមិនអស់ប្រាក់ ដោយចូលទៅកាន់អាស័យដ្ឋាននេះ https://www.mongodb.com/cloud/atlas/register ។
លុះមានគណនីមួយរួចហើយ យើងចាំបាច់ត្រូវចំលងយកដំណរភ្ជាប់ទៅកាន់មូលដ្ឋានទិន្នន័យនេះ។ បើយើងមិនដឹងត្រូវធ្វើយ៉ាងណា យើងអាចអានពីរបៀបចំលងយកតំណរភ្ជាប់ពីគេហទំព័រមួយនេះ link to MongoDB Atlas ។ យើងត្រូវបង្កើតអថេរនៃតំណរភ្ជាប់ទៅកាន់មូលដ្ឋានទិន្នន័យ MongoDB នៅក្នុងឯកសារ .env ។
MONGO_URL="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
តំណរភ្ជាប់នេះមានសារសំខាន់ណាស់ក្នុងការប្រើប្រាស់មូលដ្ឋានទិន្នន័យ MongoDB យើងមិនត្រូវបង្ហាញអោយអ្នកណាឃើញឡើយ ព្រោះអ្នកណាក៏អាចប្រើប្រាស់មូលដ្ឋានទិន្នន័យរបស់យើងបានដែរ តាមរយៈតំណរភ្ជាប់នេះ។ យើងត្រូវផ្ទៀងផ្ទាត់មើលថា តើនៅក្នុងឯកសារ .gitignore ពិតជាមានឈ្មោះឯកសារ .env នៅក្នុងនោះដែរទេ។ បើមានហើយ តំណរភ្ជាប់នៃមូលដ្ឋានទិន្នន័យរបស់យើងនឹងមិនត្រូវបញ្ជូនទៅប្រព័ន្ធ GitHub ឡើយ ដែលនៅទីនោះ អ្នកណាក៏អាចបើកមើលឯកសាររបស់យើងបានដែរ បើសិនជា repository របស់យើងមានលក្ខណៈជា public ។
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
ឯកសារ .gitignore ខាងលើនេះ ត្រូវបានបង្កើតឡើងជាស្វ័យប្រវត្តិដោយកញ្ចប់ Astro នៅពេលដែលយើងដំឡើងកញ្ចប់នេះ។ សារសំខាន់នៃឯកសារនេះ គឺវាជាព័ត៌មានប្រាប់ដល់ប្រព័ន្ធ GitHub មិនអោយចំលងយកឯកសារដូចមានខាងលើទៅទុកនៅលើប្រព័ន្ធ GitHub ពីព្រោះឯកសារខាងលើនេះ បើសិនជាមាន គឺត្រូវប្រើប្រាស់សំរាប់តែការអភិវឌ្ឍកម្មវិធីគេហទំព័រនៅក្នុងកំព្យូទ័រផ្ទាល់ខ្លួនតែប៉ុណ្ណោះ ហើយវាជាព័ត៌មានដែលមិនអាចអោយអ្នកផ្សេងមើលឃើញ ឬគ្មានប្រយោជន៍។
ការភ្ជាប់ទំនាក់ទំនងជាមួយនឹងមូលដ្ឋានទិន្នន័យ MongoDB ត្រូវធ្វើឡើងនៅក្នុងឯកសារ schema.prisma នៅក្នុងថត prisma ។ ពោលគឺយើងត្រូវដូរឈ្មោះនៃប្រភេទនៃមូលដ្ឋានទិន្នន័យ និងត្រូវចំលងយកអថេរនៃតំណរភ្ជាប់មកដាក់នៅក្នុងឯកសារ schema.prisma ដូចខាងក្រោម៖
// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mongodb"
url = env("MONGO_URL")
}