TypeORM JavaScript (Node.js): पूर्ण गाइड उदाहरण सहित

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

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

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

TypeORM JavaScript (Node.js): पूर्ण गाइड

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

TypeORM एक शक्तिशाली Object-Relational Mapping (ORM) लाइब्रेरी है, जो Node.js वातावरण में डेटाबेस के साथ काम करने के लिए डिज़ाइन की गई है। यह TypeScript और JavaScript दोनों को सपोर्ट करती है, और डेवलपर्स को रिलेशनल डेटाबेस (PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, Oracle और CockroachDB) के साथ ऑब्जेक्ट-ओरिएंटेड तरीके से इंटरैक्ट करने की सुविधा देती है। सीधे SQL क्वेरी लिखने के बजाय, आप Entity (सामान्य JavaScript क्लासेस) के साथ काम करते हैं, जो ऑटोमैटिकली डेटाबेस टेबल से मैप हो जाती हैं।

TypeORM की आवश्यकता क्यों है? सबसे पहले, यह डेवलपमेंट को काफी तेज़ करती है: आपको CRUD ऑपरेशन (Create, Read, Update, Delete) के लिए मैन्युअली SQL लिखने की ज़रूरत नहीं होती। दूसरा, यह टाइप सेफ्टी (TypeScript में) और पैरामीटराइज़्ड क्वेरी के ज़रिए SQL इंजेक्शन से सुरक्षा प्रदान करती है। तीसरा, TypeORM में जटिल क्वेरी के लिए Query Builder, डेटाबेस स्कीमा मैनेजमेंट के लिए माइग्रेशन, और टेबलों के बीच रिलेशन (एक-से-एक, एक-से-अनेक, अनेक-से-अनेक) का सपोर्ट शामिल है। यह इसे स्केलेबल और मेंटेन करने योग्य एप्लिकेशन बनाने के लिए आदर्श बनाता है।

अन्य ORM की तुलना में, TypeORM डेकोरेटर (TypeScript में) या एनोटेशन (JavaScript में एक्सपेरिमेंटल फीचर्स के ज़रिए) का उपयोग करता है, जो कोड को डिक्लेरेटिव और समझने में आसान बनाता है। यह Active Record और Data Mapper दोनों पैटर्न को सपोर्ट करता है, जिससे डेवलपर अपनी पसंद का स्टाइल चुन सकता है। अपनी लचीलापन और समृद्ध सुविधाओं के कारण, TypeORM Node.js इकोसिस्टम में सबसे लोकप्रिय ORM में से एक है।

2. इंस्टॉलेशन

अपने Node.js प्रोजेक्ट में TypeORM इंस्टॉल करने के लिए npm पैकेज मैनेजर का उपयोग करें। आपको अपने डेटाबेस के लिए ड्राइवर भी इंस्टॉल करना होगा। नीचे सबसे लोकप्रिय डेटाबेस के लिए कमांड दिए गए हैं।

# TypeORM इंस्टॉल करें
npm install typeorm --save

# PostgreSQL ड्राइवर इंस्टॉल करें
npm install pg --save

# MySQL / MariaDB ड्राइवर इंस्टॉल करें
npm install mysql2 --save

# SQLite ड्राइवर इंस्टॉल करें
npm install sqlite3 --save

# Microsoft SQL Server ड्राइवर इंस्टॉल करें
npm install mssql --save

# CockroachDB ड्राइवर इंस्टॉल करें
npm install pg --save

# TypeScript के लिए reflect-metadata और टाइप्स भी इंस्टॉल करें
npm install reflect-metadata --save
npm install @types/node --save-dev

इंस्टॉलेशन के बाद, सुनिश्चित करें कि आपके tsconfig.json (यदि TypeScript उपयोग कर रहे हैं) में निम्नलिखित सेटिंग्स शामिल हैं:

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

JavaScript (Node.js) के लिए इन सेटिंग्स की आवश्यकता नहीं है, लेकिन यदि आप चाहें तो एक्सपेरिमेंटल डेकोरेटर का उपयोग कर सकते हैं।

3. त्वरित शुरुआत — एक न्यूनतम कार्यशील उदाहरण

आइए एक सरल एप्लिकेशन बनाएं जो SQLite डेटाबेस (फ़ाइल-आधारित, सर्वर इंस्टॉल करने की ज़रूरत नहीं) से कनेक्ट हो और बुनियादी ऑपरेशन करे।

index.js फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:

const { createConnection, EntitySchema } = require("typeorm");

// EntitySchema के ज़रिए Entity (User) को परिभाषित करें
const UserSchema = new EntitySchema({
    name: "User",
    tableName: "users",
    columns: {
        id: {
            primary: true,
            type: "int",
            generated: true
        },
        firstName: {
            type: "varchar"
        },
        lastName: {
            type: "varchar"
        }
    }
});

// कनेक्शन बनाएं और डेटा डालें
createConnection({
    type: "sqlite",
    database: "database.sqlite",
    entities: [UserSchema],
    synchronize: true
}).then(async connection => {
    const userRepository = connection.getRepository(UserSchema);

    // एक नया यूज़र बनाएं
    const newUser = userRepository.create({
        firstName: "राहुल",
        lastName: "वर्मा"
    });
    await userRepository.save(newUser);
    console.log("यूज़र सेव हो गया:", newUser);

    // सभी यूज़र पढ़ें
    const users = await userRepository.find();
    console.log("सभी यूज़र:", users);
}).catch(error => console.log("एरर:", error));

यह कोड एक SQLite डेटाबेस बनाएगा, एक "users" टेबल बनाएगा, एक यूज़र डालेगा और फिर सभी यूज़र को प्रिंट करेगा। synchronize: true ऑटोमैटिकली टेबल बना देता है (केवल डेवलपमेंट के लिए)।

अनुशंसाएँ