কম্পিউটার টিউটোরিয়াল

Sequelize ব্যবহার করে Node.js-এ MySQL টেবিল তৈরি করা


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`

এখন আপনার ডেটাবেস চেক করুন। উপরের টেবিলটি তৈরি হয়ে যাবে।


  1. Java-এ JDBC ResultSet ব্যবহার করে MySQL টেবিলের ডেটা দেখানো

  2. MySQL-এ Hibernate ব্যবহার করে টেবিল তৈরি

  3. Python দিয়ে MySQL টেবিল কপি করা

  4. Tkinter ব্যবহার করে টেবিল লুক তৈরি করা