TypeORM CLI এর ব্যবহার

TypeORM এর ডিরেক্টরি এবং ফাইল স্ট্রাকচার - টাইপওআরএম (TypeORM) - Web Development

263

TypeORM CLI কি?

TypeORM CLI হল একটি কমান্ড-লাইন টুল যা TypeORM ব্যবহারকারীদের ডেটাবেস ম্যানেজমেন্ট এবং মাইগ্রেশন কাজগুলিকে আরও সহজ এবং কার্যকরী করতে সহায়তা করে। TypeORM CLI এর মাধ্যমে আপনি ডেটাবেসের কাঠামো তৈরি, মাইগ্রেশন চালানো, এবং অন্যান্য উন্নত ডেটাবেস সম্পর্কিত কাজ সহজেই পরিচালনা করতে পারেন। এটি TypeORM প্রজেক্টে ডেটাবেসের সাথে কাজ করার সময় অনেক সময় এবং প্রচেষ্টা সাশ্রয় করে।


TypeORM CLI এর ফিচার

TypeORM CLI দিয়ে আপনি নিচের কাজগুলো করতে পারবেন:

  1. ডাটাবেস কনফিগারেশন: ডেটাবেস তৈরি এবং কনফিগারেশন করা।
  2. এন্টিটি জেনারেশন: ডাটাবেস টেবিলের জন্য TypeORM এন্টিটি তৈরি করা।
  3. মাইগ্রেশন: ডেটাবেস স্কিমার পরিবর্তন ট্র্যাক এবং অ্যাপ্লাই করা।
  4. ডাটাবেস সিঙ্ক্রোনাইজেশন: ডাটাবেসের কাঠামো স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করা।
  5. কনফিগারেশন টেমপ্লেট: TypeORM প্রজেক্টের জন্য কনফিগারেশন ফাইল তৈরি করা।

TypeORM CLI ইনস্টলেশন

প্রথমে TypeORM এবং CLI ইনস্টল করতে হবে। নিচে TypeORM এবং CLI ইনস্টল করার স্টেপ দেওয়া হলো:

  1. TypeORM এবং CLI ইনস্টল করুন:
npm install typeorm --save
npm install ts-node --save-dev
npm install @nestjs/cli --save-dev
  1. TypeORM কনফিগারেশন ফাইল তৈরি করুন:

প্রজেক্টের রুট ডিরেক্টরিতে ormconfig.json নামের একটি কনফিগারেশন ফাইল তৈরি করুন। এই ফাইলটি TypeORM ক্লায়েন্ট কনফিগারেশন এবং ডেটাবেসের সেটিংস রাখবে।

{
  "type": "postgres",
  "host": "localhost",
  "port": 5432,
  "username": "postgres",
  "password": "password",
  "database": "test_db",
  "synchronize": true,
  "logging": false,
  "entities": [
    "src/entity/*.ts"
  ],
  "migrations": [
    "src/migration/*.ts"
  ],
  "subscribers": [
    "src/subscriber/*.ts"
  ],
  "cli": {
    "entitiesDir": "src/entity",
    "migrationsDir": "src/migration",
    "subscribersDir": "src/subscriber"
  }
}

এখানে, আমরা PostgreSQL ডেটাবেসের কনফিগারেশন ব্যবহার করেছি, তবে আপনি আপনার প্রোজেক্টের প্রয়োজন অনুযায়ী অন্য যেকোনো ডেটাবেস কনফিগারেশন ব্যবহার করতে পারেন।


TypeORM CLI কমান্ড

TypeORM CLI ব্যবহার করতে হলে আপনার প্রজেক্টের মধ্যে কিছু কমান্ড চালাতে হবে। নিচে TypeORM CLI-এর কিছু গুরুত্বপূর্ণ কমান্ড দেওয়া হলো:

১. ডাটাবেস মাইগ্রেশন তৈরি করা (migration:generate)

মাইগ্রেশন কমান্ডটি ডেটাবেসের মধ্যে নতুন পরিবর্তন বা স্কিমা যুক্ত করতে ব্যবহৃত হয়। নতুন মাইগ্রেশন ফাইল তৈরি করার জন্য নিচের কমান্ডটি ব্যবহার করতে হবে।

npx typeorm migration:generate -n MigrationName

এটি ডেটাবেস স্কিমার পরিবর্তন ট্র্যাক করবে এবং MigrationName নামে একটি নতুন মাইগ্রেশন ফাইল তৈরি করবে।

২. মাইগ্রেশন চালানো (migration:run)

ডেটাবেসের বর্তমান স্কিমা অনুযায়ী পরিবর্তনগুলি অ্যাপ্লাই করতে migration:run কমান্ড ব্যবহার করা হয়।

npx typeorm migration:run

এটি পূর্ববর্তী মাইগ্রেশন ফাইল থেকে সব পরিবর্তন ডেটাবেসে প্রয়োগ করবে।

৩. মাইগ্রেশন রিভার্স করা (migration:revert)

যদি আপনি আগের মাইগ্রেশনটি রিভার্স করতে চান, তবে migration:revert কমান্ড ব্যবহার করুন।

npx typeorm migration:revert

এটি পূর্ববর্তী মাইগ্রেশন ফাইলটির পরিবর্তনগুলি ব্যাকআউট করবে।

৪. এন্টিটি তৈরি করা (entity:create)

এন্টিটি তৈরি করতে typeorm entity:create কমান্ড ব্যবহার করা হয়।

npx typeorm entity:create --name User

এটি একটি নতুন User এন্টিটি তৈরি করবে এবং src/entity ডিরেক্টরিতে সেই এন্টিটি ফাইল সংরক্ষণ করবে।

৫. ডাটাবেস সিঙ্ক্রোনাইজেশন (schema:sync)

ডেটাবেসের স্কিমা সিঙ্ক্রোনাইজ করতে schema:sync কমান্ড ব্যবহার করা হয়। এটি ডেটাবেসের সঠিক কাঠামো তৈরি বা আপডেট করে।

npx typeorm schema:sync

এটি ডেটাবেসের কাঠামো (যেমন টেবিল, কলাম) TypeORM মডেলের সাথে সিঙ্ক্রোনাইজ করে।

৬. ডাটাবেস থেকে ডেটা ডাম্প বা সেভ করা (query:run)

SQL কুয়েরি চালানোর জন্য query:run কমান্ড ব্যবহার করা যেতে পারে।

npx typeorm query:run "SELECT * FROM users"

এটি users টেবিলের সব ডেটা রিটার্ন করবে।


TypeORM CLI এর সাহায্যে কাস্টম মাইগ্রেশন তৈরি করা

আপনি যখন ডেটাবেসে কোনও পরিবর্তন করতে চান (যেমন নতুন কলাম, টেবিল, কনস্ট্রেইন্ট যোগ করা), তখন TypeORM CLI মাইগ্রেশন তৈরি করে তা ডেটাবেসে প্রয়োগ করার সুযোগ দেয়।

১. মাইগ্রেশন তৈরি:

প্রথমে একটি মাইগ্রেশন তৈরি করুন:

npx typeorm migration:generate -n AddUserAgeColumn

২. মাইগ্রেশন ফাইল আপডেট:

এটি একটি নতুন ফাইল তৈরি করবে যেখানে ডেটাবেস পরিবর্তন করার জন্য প্রয়োজনীয় কোড থাকবে। উদাহরণস্বরূপ:

import {MigrationInterface, QueryRunner} from "typeorm";

export class AddUserAgeColumn1616161616161 implements MigrationInterface {
    public async up(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "user" ADD "age" integer`);
    }

    public async down(queryRunner: QueryRunner): Promise<void> {
        await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "age"`);
    }
}

এই মাইগ্রেশন ফাইলটি নতুন age কলাম যোগ করবে।

৩. মাইগ্রেশন চালানো:

এখন এই মাইগ্রেশনটি ডেটাবেসে অ্যাপ্লাই করতে:

npx typeorm migration:run

এটি age কলামটি user টেবিলে যোগ করবে।


TypeORM CLI এর মধ্যে কনফিগারেশন ফাইলের গুরুত্ব

TypeORM CLI ব্যবহারের ক্ষেত্রে কনফিগারেশন ফাইল গুরুত্বপূর্ণ ভূমিকা পালন করে। TypeORM এর কনফিগারেশন ফাইলটি সাধারণত ormconfig.json বা ormconfig.ts নামে থাকে এবং এতে ডেটাবেস সংযোগের বিস্তারিত তথ্য থাকে, যেমন ডেটাবেসের টাইপ, নাম, পাসওয়ার্ড, হোস্ট, এবং অন্যান্য সেটিংস।

উদাহরণ:

{
  "type": "postgres",
  "host": "localhost",
  "port": 5432,
  "username": "postgres",
  "password": "password",
  "database": "test_db",
  "entities": ["src/entity/*.ts"],
  "synchronize": true,
  "migrations": ["src/migration/*.ts"],
  "cli": {
    "entitiesDir": "src/entity",
    "migrationsDir": "src/migration"
  }
}

এই কনফিগারেশন ফাইলের মাধ্যমে TypeORM CLI ডেটাবেসের সাথে সংযোগ স্থাপন করে এবং বিভিন্ন মাইগ্রেশন অপারেশন পরিচালনা করে।


সারাংশ

TypeORM CLI ডেটাবেস ম্যানেজমেন্ট এবং মাইগ্রেশনকে সহজ করে তোলে, যা ডেভেলপারদের ডেটাবেসের কাঠামো পরিবর্তন, টেবিল তৈরি, এবং স্কিমার সংশোধন দ্রুত এবং সহজভাবে পরিচালনা করতে সহায়তা করে। CLI কমান্ডগুলি যেমন migration:generate, migration:run, এবং entity:create ডেভেলপারদের ডেটাবেসের কার্যক্রমগুলো সহজেই পরিচালনা করতে সহায়তা করে, যা তাদের কাজের গতি এবং কার্যকারিতা উন্নত করে।

Content added By
Promotion

Are you sure to start over?

Loading...