1. Home
  2. Nodejs Boilerplate
  3. প্রজেক্ট তৈরী ও কনফিগ করা
  4. ৩। ডাটাবেস কনফিগারেশন

৩। ডাটাবেস কনফিগারেশন

আমরা Sequelize ব্যবহার করে MySQL ডাটাবেস কনফিগারেশন তৈরি করবো এবং তার পরবর্তী কোড এবং নির্দেশনা দিবো। Sequelize একটি প্রমিজ-ভিত্তিক ORM (Object-Relational Mapping) লাইব্রেরি যা Node.js এর সাথে সহজে MySQL, PostgreSQL, SQLite, এবং অন্যান্য ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করতে সাহায্য করে।

ধাপ ১: প্রয়োজনীয় প্যাকেজ ইনস্টল করা

প্রথমে আপনার প্রজেক্টে Sequelize এবং MySQL2 প্যাকেজগুলি ইনস্টল করতে হবে। MySQL2 হল Sequelize এর জন্য ডাটাবেস ড্রাইভার।

npm install sequelize mysql2

ধাপ ২: database.js ফাইল তৈরি করা

এখন আমরা Sequelize কনফিগারেশন সেটআপ করবো যাতে MySQL ডাটাবেসে কানেক্ট করা যায়।

config/database.js

const { Sequelize } = require("sequelize");
const config = require("./config");

// Sequelize এর মাধ্যমে MySQL ডাটাবেসের সাথে কানেকশন তৈরি করা
const sequelize = new Sequelize(
  config.mysql.database,
  config.mysql.username,
  config.mysql.password,
  {
    host: config.mysql.host,
    dialect: "mysql",
    port: config.mysql.port,
    logging: false,
  }
);

// ডাটাবেস কানেকশন ফাংশন
async function connect() {
  try {
    await sequelize.authenticate();
    console.log("Database connection has been established successfully.");
    return true;
  } catch (error) {
    console.error("Unable to connect to the database:", error);
    return false;
  }
}

module.exports = { sequelize, connect };

ধাপ ৩: server.js এ ডাটাবেস কনফিগারেশন ব্যবহার করা

এখন, আমরা server.js ফাইলে database.js ফাইলটি ব্যবহার করে ডাটাবেস কানেকশন টেস্ট করবো।

server.js

const app = require("./app");
const config = require("./config/config");
const { connect } = require("./config/database");

async function startServer() {
  const isDbConnected = await connect();
  
  // ডাটাবেস কানেকশন সফল হলে তবেই সার্ভার চালু হবে
  if (isDbConnected) {
    app.listen(config.port, () => {
      console.log(`Server is running on port ${config.port}`);
    });
  } else {
    console.error("Failed to start server: Database connection failed.");
  }
}

// সার্ভার চালু ফাংশন কল করা
startServer();

How can we help?