টাইপওআরএম (ইংরেজি:: TypeORM)হলো একটি ORM (Object-Relational Mapping) ফ্রেমওয়ার্ক যা TypeScript এবং JavaScript (ES7) ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য তৈরি করা হয়েছে। এটি ডেভেলপারদের জন্য ডেটাবেসের সাথে কাজ করার একটি সহজ এবং কার্যকর উপায় প্রদান করে। TypeORM বিভিন্ন ধরনের ডেটাবেস, যেমন PostgreSQL, MySQL, MariaDB, SQLite, এবং MongoDB সমর্থন করে।
TypeORM হলো একটি Object-Relational Mapping (ORM) ফ্রেমওয়ার্ক, যা TypeScript এবং JavaScript ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য তৈরি করা হয়েছে। এটি TypeScript এর সম্পূর্ণ সমর্থন নিয়ে কাজ করে এবং Node.js-এর সাথে সবচেয়ে বেশি ব্যবহৃত হয়। TypeORM-এর মাধ্যমে আপনি ডাটাবেসে CRUD (Create, Read, Update, Delete) অপারেশনগুলো খুব সহজে করতে পারবেন, কোনো SQL কোড না লিখেই।
ORM মূলত অবজেক্ট এবং রিলেশনাল ডেটাবেসের টেবিলগুলোর মধ্যে সম্পর্ক তৈরি করে, যাতে ডেভেলপাররা অবজেক্ট-ভিত্তিক কোড ব্যবহার করে ডাটাবেসের সাথে ইন্টারঅ্যাকশন করতে পারে।
ধাপ ১: TypeORM সেটআপ করা
TypeORM শুরু করার জন্য আপনাকে একটি Node.js অ্যাপ্লিকেশন সেটআপ করতে হবে। নিচে TypeORM সেটআপের ধাপগুলো দেওয়া হলো:
Step 1: একটি নতুন প্রজেক্ট তৈরি করা
mkdir typeorm-example
cd typeorm-example
npm init -y
Step 2: প্রয়োজনীয় প্যাকেজ ইনস্টল করা
npm install typeorm reflect-metadata mysql2
typeorm: TypeORM লাইব্রেরি। reflect-metadata: TypeScript এর জন্য রিফ্লেকশন মেটাডেটা। mysql2: MySQL ডাটাবেস ব্যবহার করার জন্য ড্রাইভার (আপনার ডাটাবেস অনুযায়ী এই ড্রাইভার পরিবর্তন করতে হবে)।
ধাপ ২: TypeScript সেটআপ করা
TypeORM পুরোপুরি TypeScript সমর্থন করে, তাই আমাদের TypeScript সেটআপ করতে হবে।
Step 1: TypeScript এবং ts-node ইনস্টল করা
npm install typescript ts-node @types/node --save-dev
Step 2: TypeScript কনফিগারেশন ফাইল তৈরি করা
npx tsc --init
এটি tsconfig.json ফাইল তৈরি করবে, যা TypeScript এর কনফিগারেশন ফাইল।
ধাপ ৩: TypeORM কনফিগারেশন ফাইল তৈরি করা
TypeORM-কে ডাটাবেস সংযোগ এবং মডেল তৈরির জন্য কনফিগারেশন প্রয়োজন। এই কনফিগারেশন ormconfig.json ফাইলে করা হবে।
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password",
"database": "test",
"entities": ["src/entity/**/*.ts"],
"synchronize": true
}
এখানে:
true করা হয়, তাহলে TypeORM ডাটাবেস স্কিমা অটোমেটিকালি সিঙ্ক করবে।ধাপ ৪: Entity তৈরি করা
Entity হলো TypeORM-এ ডাটাবেসের টেবিলের একটি রেপ্রেজেন্টেশন। আমরা একটি User টেবিল তৈরি করব।
// src/entity/User.ts
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
age: number;
}
উপরের উদাহরণে:
id কে প্রাইমারি কি করা হয়েছে এবং এটি অটোমেটিকালি জেনারেট হবে।ধাপ ৫: ডাটাবেসের সাথে সংযোগ স্থাপন করা এবং CRUD অপারেশন
এখন আমরা ডাটাবেসের সাথে সংযোগ স্থাপন করব এবং CRUD অপারেশন করব।
import "reflect-metadata";
import { createConnection } from "typeorm";
import { User } from "./entity/User";
createConnection().then(async connection => {
console.log("Connected to the database!");
// একটি নতুন ইউজার তৈরি করা
let user = new User();
user.firstName = "John";
user.lastName = "Doe";
user.age = 25;
await connection.manager.save(user);
console.log("User has been saved!");
// সমস্ত ইউজার রিট্রিভ করা
const users = await connection.manager.find(User);
console.log("All users from the database:", users);
}).catch(error => console.log(error));
এই কোডের মাধ্যমে:
ধাপ ৬: TypeORM মাইগ্রেশন
TypeORM মাইগ্রেশন সমর্থন করে, যা ডাটাবেস স্কিমার পরিবর্তন ট্র্যাক করতে সাহায্য করে। আপনি TypeORM CLI ব্যবহার করে মাইগ্রেশন তৈরি করতে পারেন।
Step 1: মাইগ্রেশন তৈরি করা
npx typeorm migration:generate -n MigrationName
Step 2: মাইগ্রেশন রান করা
npx typeorm migration:run
| বিষয় | TypeORM | Sequelize | Mongoose |
|---|---|---|---|
| ভাষা | TypeScript, JS | JavaScript | JavaScript |
| ডাটাবেস সমর্থন | MySQL, PostgreSQL, MongoDB | MySQL, PostgreSQL, SQLite | MongoDB |
| TypeScript সমর্থন | হ্যাঁ | আংশিক | না |
| Migration | সমর্থিত | সমর্থিত | সমর্থিত নয় |
| রিলেশনশিপ সমর্থন | খুব ভালো | ভালো | সমর্থিত নয় |
TypeORM হলো একটি শক্তিশালী এবং TypeScript ভিত্তিক ORM ফ্রেমওয়ার্ক, যা ডেভেলপারদেরকে ডাটাবেসের সাথে সহজে এবং কার্যকরীভাবে কাজ করতে সাহায্য করে। এর Entity-based মডেলিং, রিলেশন ম্যানেজমেন্ট, এবং মাইগ্রেশন সাপোর্ট এটিকে জাভাস্ক্রিপ্ট এবং TypeScript ডেভেলপারদের জন্য আদর্শ করে তুলেছে। TypeORM ব্যবহার করে আপনি দ্রুত এবং সুশৃঙ্খলভাবে ডাটাবেস ইন্টিগ্রেশন করতে পারবেন।
টাইপওআরএম (ইংরেজি:: TypeORM)হলো একটি ORM (Object-Relational Mapping) ফ্রেমওয়ার্ক যা TypeScript এবং JavaScript (ES7) ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য তৈরি করা হয়েছে। এটি ডেভেলপারদের জন্য ডেটাবেসের সাথে কাজ করার একটি সহজ এবং কার্যকর উপায় প্রদান করে। TypeORM বিভিন্ন ধরনের ডেটাবেস, যেমন PostgreSQL, MySQL, MariaDB, SQLite, এবং MongoDB সমর্থন করে।
TypeORM হলো একটি Object-Relational Mapping (ORM) ফ্রেমওয়ার্ক, যা TypeScript এবং JavaScript ভিত্তিক অ্যাপ্লিকেশনগুলির জন্য তৈরি করা হয়েছে। এটি TypeScript এর সম্পূর্ণ সমর্থন নিয়ে কাজ করে এবং Node.js-এর সাথে সবচেয়ে বেশি ব্যবহৃত হয়। TypeORM-এর মাধ্যমে আপনি ডাটাবেসে CRUD (Create, Read, Update, Delete) অপারেশনগুলো খুব সহজে করতে পারবেন, কোনো SQL কোড না লিখেই।
ORM মূলত অবজেক্ট এবং রিলেশনাল ডেটাবেসের টেবিলগুলোর মধ্যে সম্পর্ক তৈরি করে, যাতে ডেভেলপাররা অবজেক্ট-ভিত্তিক কোড ব্যবহার করে ডাটাবেসের সাথে ইন্টারঅ্যাকশন করতে পারে।
ধাপ ১: TypeORM সেটআপ করা
TypeORM শুরু করার জন্য আপনাকে একটি Node.js অ্যাপ্লিকেশন সেটআপ করতে হবে। নিচে TypeORM সেটআপের ধাপগুলো দেওয়া হলো:
Step 1: একটি নতুন প্রজেক্ট তৈরি করা
mkdir typeorm-example
cd typeorm-example
npm init -y
Step 2: প্রয়োজনীয় প্যাকেজ ইনস্টল করা
npm install typeorm reflect-metadata mysql2
typeorm: TypeORM লাইব্রেরি। reflect-metadata: TypeScript এর জন্য রিফ্লেকশন মেটাডেটা। mysql2: MySQL ডাটাবেস ব্যবহার করার জন্য ড্রাইভার (আপনার ডাটাবেস অনুযায়ী এই ড্রাইভার পরিবর্তন করতে হবে)।
ধাপ ২: TypeScript সেটআপ করা
TypeORM পুরোপুরি TypeScript সমর্থন করে, তাই আমাদের TypeScript সেটআপ করতে হবে।
Step 1: TypeScript এবং ts-node ইনস্টল করা
npm install typescript ts-node @types/node --save-dev
Step 2: TypeScript কনফিগারেশন ফাইল তৈরি করা
npx tsc --init
এটি tsconfig.json ফাইল তৈরি করবে, যা TypeScript এর কনফিগারেশন ফাইল।
ধাপ ৩: TypeORM কনফিগারেশন ফাইল তৈরি করা
TypeORM-কে ডাটাবেস সংযোগ এবং মডেল তৈরির জন্য কনফিগারেশন প্রয়োজন। এই কনফিগারেশন ormconfig.json ফাইলে করা হবে।
{
"type": "mysql",
"host": "localhost",
"port": 3306,
"username": "root",
"password": "password",
"database": "test",
"entities": ["src/entity/**/*.ts"],
"synchronize": true
}
এখানে:
true করা হয়, তাহলে TypeORM ডাটাবেস স্কিমা অটোমেটিকালি সিঙ্ক করবে।ধাপ ৪: Entity তৈরি করা
Entity হলো TypeORM-এ ডাটাবেসের টেবিলের একটি রেপ্রেজেন্টেশন। আমরা একটি User টেবিল তৈরি করব।
// src/entity/User.ts
import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
firstName: string;
@Column()
lastName: string;
@Column()
age: number;
}
উপরের উদাহরণে:
id কে প্রাইমারি কি করা হয়েছে এবং এটি অটোমেটিকালি জেনারেট হবে।ধাপ ৫: ডাটাবেসের সাথে সংযোগ স্থাপন করা এবং CRUD অপারেশন
এখন আমরা ডাটাবেসের সাথে সংযোগ স্থাপন করব এবং CRUD অপারেশন করব।
import "reflect-metadata";
import { createConnection } from "typeorm";
import { User } from "./entity/User";
createConnection().then(async connection => {
console.log("Connected to the database!");
// একটি নতুন ইউজার তৈরি করা
let user = new User();
user.firstName = "John";
user.lastName = "Doe";
user.age = 25;
await connection.manager.save(user);
console.log("User has been saved!");
// সমস্ত ইউজার রিট্রিভ করা
const users = await connection.manager.find(User);
console.log("All users from the database:", users);
}).catch(error => console.log(error));
এই কোডের মাধ্যমে:
ধাপ ৬: TypeORM মাইগ্রেশন
TypeORM মাইগ্রেশন সমর্থন করে, যা ডাটাবেস স্কিমার পরিবর্তন ট্র্যাক করতে সাহায্য করে। আপনি TypeORM CLI ব্যবহার করে মাইগ্রেশন তৈরি করতে পারেন।
Step 1: মাইগ্রেশন তৈরি করা
npx typeorm migration:generate -n MigrationName
Step 2: মাইগ্রেশন রান করা
npx typeorm migration:run
| বিষয় | TypeORM | Sequelize | Mongoose |
|---|---|---|---|
| ভাষা | TypeScript, JS | JavaScript | JavaScript |
| ডাটাবেস সমর্থন | MySQL, PostgreSQL, MongoDB | MySQL, PostgreSQL, SQLite | MongoDB |
| TypeScript সমর্থন | হ্যাঁ | আংশিক | না |
| Migration | সমর্থিত | সমর্থিত | সমর্থিত নয় |
| রিলেশনশিপ সমর্থন | খুব ভালো | ভালো | সমর্থিত নয় |
TypeORM হলো একটি শক্তিশালী এবং TypeScript ভিত্তিক ORM ফ্রেমওয়ার্ক, যা ডেভেলপারদেরকে ডাটাবেসের সাথে সহজে এবং কার্যকরীভাবে কাজ করতে সাহায্য করে। এর Entity-based মডেলিং, রিলেশন ম্যানেজমেন্ট, এবং মাইগ্রেশন সাপোর্ট এটিকে জাভাস্ক্রিপ্ট এবং TypeScript ডেভেলপারদের জন্য আদর্শ করে তুলেছে। TypeORM ব্যবহার করে আপনি দ্রুত এবং সুশৃঙ্খলভাবে ডাটাবেস ইন্টিগ্রেশন করতে পারবেন।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?