मैं मौजूदा MySql डेटाबेस के साथ काम करने के लिए TypeORM और NestJs का उपयोग कर रहा हूं। एक साझा तालिका है जिसमें मुझे रिकॉर्ड सम्मिलित करना होगा, जिसमें एक स्वत: वृद्धिशील प्राथमिक कुंजी है। चूंकि तालिका साझा की गई है, इसलिए मैंने सिंक्रनाइज़ करना बंद कर दिया है।

जब मैं अपनी टाइपओआरएम इकाई को @PrimaryGeneratedColumn डेकोरेटर के साथ सेट करता हूं, तो मुझे यह बताते हुए एक त्रुटि मिलती है कि कॉलम "डिफ़ॉल्ट मान नहीं है"। अगर मैं डेकोरेटर को @ कॉलम में बदलता हूं, तो मुझे कोई प्राथमिक कुंजी नहीं होने के बारे में एक त्रुटि प्राप्त होती है।

क्या कोई मुझे बता सकता है कि मुझे अपनी टाइपओआरएम इकाई कैसे स्थापित करनी चाहिए ताकि मैं एक ऑटो-इन्क्रिमेंटिंग कॉलम वाली तालिका में एक रिकॉर्ड डाल सकूं, जहां सिंक्रनाइज़ेशन बंद हो गया है?

अपडेट करें

यहाँ MySql तालिका DDL का एक अंश दिया गया है:

CREATE TABLE IF NOT EXISTS tIntegrationItem (
    IntegrationItemID       mediumint AUTO_INCREMENT    NOT NULL,
    Description             varchar(200)                NOT NULL,
    CreatedDateTime         dateTime                    NOT NULL,
    PRIMARY KEY (IntegrationItemID)
) ENGINE=InnoDB;

यहाँ इकाई का एक अंश है:

@Entity({ name: "tIntegrationItem" })
export class IntegrationItem {
    @PrimaryGeneratedColumn()
    integrationItemId : number;

    @Column()
    description : string;

    @Column()
    createdDateTime  : Date = new Date();
}

मुझे प्राप्त होने वाली त्रुटि यहां दी गई है:

[घोंसला] 26248 - 01/22/2020, 2:18:43 अपराह्न [अपवाद हैंडलर] ER_NO_DEFAULT_FOR_FIELD: फ़ील्ड 'एकीकरणआइटम आईडी' का कोई डिफ़ॉल्ट मान नहीं है

0
KrimblKrum 20 जिंदा 2020, 18:49
अधिक विस्तृत जांच के लिए, कृपया अपनी मौजूदा तालिका, इकाई वर्ग और त्रुटि लॉग का एक स्कीमा विवरण जोड़ें।
 – 
iY1NQ
20 जिंदा 2020, 21:32

2 जवाब

सबसे बढ़िया उत्तर

मैंने डेटाबेस कॉन्फ़िगरेशन को किसी भिन्न डेटाबेस में स्विच किया, और एप्लिकेशन ने ठीक काम किया। मेरे पास MySQL के स्थानीय उदाहरण के साथ काम करने के लिए कॉन्फ़िगर किया गया एप्लिकेशन था, जिसे ठीक से सेटअप नहीं किया गया था। हालांकि मुझे इसका सही कारण नहीं पता।

अपडेट करें

मैंने तब से सीखा है कि मेरा स्थानीय डेटाबेस सर्वर इंस्टेंस से मेल नहीं खाता है। जब इसे सेटअप किया गया था, तो प्राथमिक कुंजी कॉलम को ऑटो-इन्क्रीमेंट के लिए सेटअप नहीं किया गया था। *एसएमएच*

0
KrimblKrum 24 जिंदा 2020, 17:41

समस्या कॉलम नाम से संबंधित हो सकती है।

integrationItemId : number;

IntegrationItemID

0
Sefa Şahin 22 जिंदा 2020, 23:51