Sequelize পরিচিতি
Sequelize হলো Node.js-এর জন্য একটি প্রমিস-ভিত্তিক ORM (Object-Relational Mapping), যা Postgres, MySQL, MariaDB, SQLite এবং Microsoft SQL Server সাপোর্ট করে।
Sequelize-এর মূল বৈশিষ্ট্যগুলো নিচে দেওয়া হলো:
ট্রানজ্যাকশন সাপোর্ট
রিলেশন (Relations)
Eager এবং Lazy Loading
Read Replication এবং আরও অনেক কিছু...
Sequelize দিয়ে MySQL-এ কানেক্ট করা
প্রথমে Sequelize ব্যবহার করে MySQL এবং Node.js-এর মধ্যে সংযোগ স্থাপন করতে হবে।
সফলভাবে সংযোগ স্থাপনের পর কনফিগারেশনের জন্য নিচের তিনটি ফাইল তাদের নিজস্ব ফোল্ডারে তৈরি করতে হবে:
SequelizeDemo > application.js — এটি মূল ফাইল যেখানে মূল লজিক থাকবে।
SequelizeDemo > utils > database.js — এতে MySQL কানেকশনের সব ডিটেইল থাকবে।
SequelizeDemo > models > user.js — এতে মডেলের তথ্য সংজ্ঞায়িত করা হবে।
উদাহরণ
Database.js কনফিগার করা
const Sequelize = require('sequelize')
const sequelize = new Sequelize(
'YOUR_DB_NAME', // TutorialsPoint
'YOUR_DB_USER_NAME', // root
'YOUR_DB_PASSWORD', // root
{
dialect: 'mysql',
host: 'localhost'
}
);
module.exports = sequelize
আপনার ডেটাবেসের তথ্য দিয়ে উপরের ইনপুটগুলো পূরণ করুন।
User.js কনফিগার করা
এই ফাইলটি ব্যবহার করে মডেল এবং টেবিলের মধ্যে ম্যাপিং ডিফাইন করুন।
const Sequelize = require('sequelize')
const sequelize = require('../utils/database')
const User = sequelize.define('user', {
// কলাম #১: user_id এবং এর প্রপার্টি
user_id: {
type: Sequelize.INTEGER,
autoIncrement: true,
allowNull: false,
primaryKey: true
},
// কলাম #২: name
name: {
type: Sequelize.STRING,
allowNull: false
},
// কলাম #৩: email
email: {
type: Sequelize.STRING,
allowNull: false
},
// টাইমস্ট্যাম্প কলাম
createdAt: Sequelize.DATE,
updatedAt: Sequelize.DATE,
});
module.exports = User
app.js কনফিগার করা
টেবিল তৈরি করার জন্য নিচের দুটি মেথডের যেকোনো একটি ব্যবহার করা যায়:
sync() মেথড — টেবিল না থাকলে তৈরি করবে, থাকলে ওভাররাইট করবে না।
sync({force: true}) মেথড — টেবিল না থাকলে তৈরি করবে, থাকলে পুরনো টেবিল ডিলিট করে নতুন করে তৈরি করবে।
// ডেটাবেস মডেল ইম্পোর্ট
const sequelize = require('./database')
// ইউজার মডেল ইম্পোর্ট
const User = require('./user')
// user.js-এ ডিফাইন করা সব টেবিল তৈরি করা
sequelize.sync()
// আপনি user.js ফাইলটি পরিবর্তন করে sync({force: true}) রান করে চেক করতে পারেন
// sequelize.sync({force: true})
আউটপুট
প্রোগ্রাম রান করলে নিচের আউটপুট मिलবে:
C:\Users\SequelizeDemo>> node app.js Executing (default): CREATE TABLE IF NOT EXISTS `users` (`user_id` INTEGER NOT NULL auto_increment , `name` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `createdAt` DATETIME, `updatedAt` DATETIME, PRIMARY KEY (`user_id`)) ENGINE=InnoDB; Executing (default): SHOW INDEX FROM `users`
এখন আপনার ডেটাবেস চেক করুন। উপরের টেবিলটি তৈরি হয়ে যাবে।