ormconfig.json বা data-source.ts কনফিগারেশন ফাইল

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

298

টাইপওআরএম (TypeORM) পরিচিতি

TypeORM হল একটি শক্তিশালী ORM (Object-Relational Mapping) লাইব্রেরি যা TypeScript এবং JavaScript এর জন্য তৈরি করা হয়েছে। এটি ডাটাবেস ম্যানিপুলেশন, ডাটাবেস টেবিল ও সম্পর্কের মডেলিং এবং SQL কোড লেখার ক্ষেত্রে অনেক সাহায্য করে। TypeORM ব্যবহার করে আপনি ডাটাবেসের সাথে যোগাযোগ করতে পারবেন, মডেলগুলিকে ডিফাইন করতে পারবেন এবং SQL কোড কমপ্লেক্সিটি কমিয়ে ডেটা পরিচালনা সহজ করতে পারবেন।

TypeORM-এর কনফিগারেশন সাধারণত দুটি ফাইলের মাধ্যমে করা হয়:

  • ormconfig.json: JSON ফরম্যাটে ডাটাবেস কনফিগারেশন ফাইল।
  • data-source.ts: TypeScript ফাইল, যা TypeORM কনফিগারেশন, ডাটাবেস সংযোগ এবং ডাটাবেসে মডেল ফিচারগুলো পরিচালনা করে।

ormconfig.json কনফিগারেশন ফাইল

ormconfig.json ফাইলটি TypeORM ডাটাবেসের কনফিগারেশন এবং সেটিংস সংরক্ষণ করতে ব্যবহৃত হয়। সাধারণত এই ফাইলটিতে ডাটাবেসের সংযোগ সেটিংস যেমন host, port, username, password, database name, এবং অন্যান্য কনফিগারেশন টুকরা থাকে।

ormconfig.json ফাইলের উদাহরণ:

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

কনফিগারেশন ফাইলের বর্ণনা:

  • type: ডাটাবেসের ধরনের (যেমন, postgres, mysql, sqlite, ইত্যাদি)।
  • host: ডাটাবেস সার্ভারের হোস্ট (যেমন, localhost, বা ডাটাবেস সার্ভারের IP ঠিকানা)।
  • port: ডাটাবেস সার্ভারের পোর্ট (যেমন, 5432 PostgreSQL এর জন্য)।
  • username: ডাটাবেস লগিন ইউজারনেম।
  • password: ডাটাবেস ইউজারের পাসওয়ার্ড।
  • database: ডাটাবেসের নাম।
  • synchronize: যদি true হয়, TypeORM ডাটাবেসের টেবিল স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করবে।
  • logging: যদি true হয়, TypeORM SQL কোয়েরি লোগ করবে।
  • entities: ডাটাবেস মডেল বা এন্টিটিজি যেখানে রয়েছে। এখানে টেবিলের ক্লাসগুলোর পাথ দিতে হবে।
  • migrations: মাইগ্রেশন ফাইলের অবস্থান।
  • subscribers: সাবস্ক্রাইবার ফাইলের অবস্থান (যেগুলি ইভেন্ট হ্যান্ডলিং এর জন্য ব্যবহৃত হয়)।
  • cli: TypeORM CLI টুলের জন্য মাইগ্রেশন ফাইলের ডিরেক্টরি।

data-source.ts কনফিগারেশন ফাইল (TypeScript)

TypeORM 0.3.x এর পর, data-source.ts ফাইলটি ormconfig.json এর বিকল্প হিসেবে ব্যবহৃত হচ্ছে। এতে TypeScript এর সাহায্যে ডাটাবেস সংযোগ এবং মডেল সেটআপ করা হয়। এটি একটি DataSource ইনস্ট্যান্স তৈরি করে, যেটি ডাটাবেসের সাথে যোগাযোগ এবং মডেল সংযোগ ব্যবস্থাপনা করে।

data-source.ts ফাইলের উদাহরণ:

import { DataSource } from "typeorm";
import { User } from "./entity/User"; // মডেল ইম্পোর্ট
import { Post } from "./entity/Post"; // মডেল ইম্পোর্ট

export const AppDataSource = new DataSource({
  type: "postgres", 
  host: "localhost", 
  port: 5432,
  username: "postgres",
  password: "yourpassword",
  database: "testdb",
  synchronize: true,
  logging: true,
  entities: [User, Post],
  migrations: [],
  subscribers: [],
});

AppDataSource.initialize()
  .then(() => {
    console.log("Data Source has been initialized!");
  })
  .catch((error) => {
    console.log("Error during Data Source initialization:", error);
  });

data-source.ts কনফিগারেশন ফাইলের বর্ণনা:

  • AppDataSource: এখানে ডাটাবেস সংযোগ স্থাপন করা হয়। এটি DataSource কনস্ট্রাক্টর দ্বারা তৈরি হয়, যা ডাটাবেস সংযোগ এবং ডাটাবেস সম্পর্কিত ফাংশনগুলি পরিচালনা করে।
  • entities: ডাটাবেসের টেবিলগুলোকে TypeORM মডেল (এন্টিটি) হিসেবে ইম্পোর্ট এবং যুক্ত করা হয়।
  • synchronize: যদি true হয়, TypeORM ডাটাবেস টেবিলগুলোকে মডেল অনুযায়ী স্বয়ংক্রিয়ভাবে সিঙ্ক্রোনাইজ করে।
  • logging: যদি true হয়, TypeORM SQL কোয়েরি লোগ করবে।

AppDataSource.initialize() ফাংশনটি ডাটাবেস সংযোগ এবং সেটআপ প্রক্রিয়া শুরু করে।


ormconfig.json বনাম data-source.ts

বৈশিষ্ট্যormconfig.jsondata-source.ts
ফাইল টাইপJSONTypeScript
কনফিগারেশন সিস্টেমস্ট্যাটিক (JSON ফাইল)ডাইনামিক (TypeScript কোড)
ব্যবহারসহজ এবং ক্লাসিক কনফিগারেশনTypeScript ডেভেলপমেন্টের জন্য বেশি উপযোগী
সামর্থ্যসীমিত কাস্টমাইজেশনউন্নত কাস্টমাইজেশন এবং প্রোগ্রাম্যাটিক কনফিগারেশন
আধুনিক ব্যবহারপুরানো ভার্সনে ব্যবহৃতTypeORM 0.3.x এবং পরবর্তী সংস্করণে ব্যবহৃত
ডেভেলপমেন্ট ফ্লোসোজা এবং সরলTypeScript এবং অ্যাডভান্সড সেটআপের জন্য উপযুক্ত

সারাংশ

  • ormconfig.json এবং data-source.ts উভয়ই TypeORM এর ডাটাবেস কনফিগারেশন পরিচালনার জন্য ব্যবহৃত হয়, তবে নতুন সংস্করণে data-source.ts অধিক ব্যবহৃত হচ্ছে।
  • ormconfig.json হল একটি স্ট্যাটিক JSON ফাইল যেখানে ডাটাবেস কনফিগারেশন লিখা হয়, যা সাধারিতভাবে TypeORM 0.2.x সংস্করণে ব্যবহৃত হয়।
  • data-source.ts হল একটি TypeScript ফাইল যেখানে TypeORM ডাটাবেস কনফিগারেশন প্রোগ্রাম্যাটিকভাবে লেখা হয় এবং এটি TypeORM 0.3.x সংস্করণ থেকে ব্যবহৃত হয়।

এটি আপনার প্রকল্পের প্রয়োজন অনুসারে ডেটাবেস কনফিগারেশন ব্যবস্থাপনার জন্য সঠিক ফাইল নির্বাচন করতে সাহায্য করবে।

Content added By
Promotion

Are you sure to start over?

Loading...