TypeORM TypeScript: पूर्ण गाइड उदाहरण सहित

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

TypeORM क्या है और इसकी आवश्यकता क्यों है?

TypeORM एक शक्तिशाली ऑब्जेक्ट-रिलेशनल लाइब्रेरी (ORM) है जो TypeScript और JavaScript के लिए बनाई गई है। यह PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Oracle और MongoDB (आंशिक रूप से) जैसे विभिन्न डेटाबेस के साथ काम करती है। यह ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण के माध्यम से रिलेशनल डेटाबेस के साथ इंटरैक्ट करने का एक सुविधाजनक तरीका प्रदान करती है, जिससे डेवलपर्स टेबल को क्लासेस और रिकॉर्ड को ऑब्जेक्ट के रूप में उपयोग कर सकते हैं।

TypeORM का उपयोग करने के मुख्य कारण:

  • टाइपिंग: TypeScript के साथ पूर्ण एकीकरण सख्त टाइपिंग और IDE में ऑटो-कम्प्लीशन सुनिश्चित करता है।
  • डिक्लेरेटिव दृष्टिकोण: डेकोरेटर या स्कीमा के माध्यम से डेटाबेस स्कीमा को परिभाषित करना।
  • ऑटो-माइग्रेशन: डेटाबेस स्कीमा का स्वचालित निर्माण और सिंक्रोनाइज़ेशन।
  • Active Record और Data Mapper: दोनों लोकप्रिय पैटर्न का समर्थन।
  • रिलेशनशिप सपोर्ट: One-to-One, One-to-Many, Many-to-Many।
  • Query Builder: जटिल SQL क्वेरी के लिए लचीला क्वेरी बिल्डर।
  • क्रॉस-प्लेटफ़ॉर्म: Node.js, ब्राउज़र, React Native और Ionic के साथ काम करता है।

TypeORM की स्थापना (इंस्टॉलेशन)

TypeORM और आवश्यक डेटाबेस ड्राइवरों को स्थापित करने के लिए npm (या yarn) का उपयोग करें:

// TypeORM स्थापित करें
npm install typeorm --save

// reflect-metadata स्थापित करें (डेकोरेटर के लिए आवश्यक)
npm install reflect-metadata --save

// PostgreSQL ड्राइवर स्थापित करें
npm install pg --save

// MySQL/MariaDB ड्राइवर स्थापित करें
npm install mysql2 --save

// SQLite ड्राइवर स्थापित करें
npm install sqlite3 --save

// SQL Server ड्राइवर स्थापित करें
npm install mssql --save

// MongoDB ड्राइवर स्थापित करें (प्रयोगात्मक)
npm install mongodb --save

स्थापना के बाद, tsconfig.json में निम्नलिखित जोड़ें:

{
  "compilerOptions": {
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  }
}

कोड उदाहरण के साथ त्वरित शुरुआत

SQLite का उपयोग करके उपयोगकर्ताओं को प्रबंधित करने के लिए एक सरल एप्लिकेशन बनाएं (इसके लिए सर्वर स्थापित करने की आवश्यकता नहीं है)।

1. कनेक्शन कॉन्फ़िगरेशन के लिए data-source.ts फ़ाइल बनाएं:

import { DataSource } from "typeorm";
import { User } from "./entity/User";

export const AppDataSource = new DataSource({
    type: "sqlite",
    database: "database.sqlite",
    synchronize: true,
    logging: true,
    entities: [User],
    subscribers: [],
    migrations: [],
});

// कनेक्शन को इनिशियलाइज़ करें
AppDataSource.initialize()
    .then(() => {
        console.log("Data Source has been initialized!");
    })
    .catch((err) => {
        console.error("Error during Data Source initialization:", err);
    });

2. entity/User.ts फ़ाइल में User एंटिटी बनाएं:

import { Entity, PrimaryGeneratedColumn, Column } from "typeorm";

@Entity()
export class User {
    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    firstName: string;

    @Column()
    lastName: string;

    @Column({ unique: true })
    email: string;

    @Column({ default: true })
    isActive: boolean;
}

3. काम प्रदर्शित करने के लिए index.ts फ़ाइल बनाएं:

import "reflect-metadata";
import { AppDataSource } from "./data-source";
import { User } from "./entity/User";

async function main() {
    await AppDataSource.initialize();

    // एक नया उपयोगकर्ता बनाएं
    const user = new User();
    user.firstName = "राहुल";
    user.lastName = "वर्मा";
    user.email = "rahul@example.com";
    user.isActive = true;

    // डेटाबेस में सेव करें
    await AppDataSource.manager.save(user);
    console.log("उपयोगकर्ता ID के साथ सहेजा गया:", user.id);

    // सभी उपयोगकर्ताओं को प्राप्त करें
    const                    

अनुशंसाएँ