FluentMigrator का उपयोग कर का डिफ़ॉल्ट निर्माण .AsString()
का उपयोग nvarchar(255)
पर करता है। nvarchar(MAX)
के कॉलम को बनाने के लिए क्या कोई आसान तरीका है (फ्लुएंटमिगर कोड को संशोधित करने से पहले)?क्या मैं FluentMigrator का उपयोग कर nvarchar (MAX) का कॉलम बना सकता हूं?
उत्तर
आप .AsMaxString() के भीतर
.AsString (Int32.MaxValue) रैप करने के लिए एक विस्तार विधि बना सकते हैं जैसे
internal static class MigratorExtensions
{
public static ICreateTableColumnOptionOrWithColumnSyntax AsMaxString(this ICreateTableColumnAsTypeSyntax createTableColumnAsTypeSyntax)
{
return createTableColumnAsTypeSyntax.AsString(int.MaxValue);
}
}
ठीक है, मैंने इसे पाया। असल में, उपयोग करें। एसस्ट्रिंग (Int32.MaxValue)। अफ़सोस की बात है कि वहाँ एक .AsMaxString() विधि नहीं है, लेकिन मुझे लगता है कि यह काफी आसान में डालने के लिए है ...
यदि आप अक्सर समान सेटिंग्स या कॉलम के समूह के साथ कॉलम/टेबल बनाते हैं, तो आपको अपने माइग्रेशन के लिए एक्सटेंशन विधियां बनाना चाहिए!
उदाहरण के लिए, मेरी टेबल के लगभग हर एक CreatedAt और UpdatedAt दिनांक समय स्तंभ होते हैं, तो मैं एक छोटे से विस्तार विधि मार पड़ी है इसलिए मैं कह सकता हूँ:
Create.Table("Foos").
WithColumn("a").
WithTimestamps();
मुझे लगता है कि मेरे द्वारा बनाए गए एक्सटेंशन विधि ठीक से ... मैं यह काम करता है पता है, लेकिन FluentMigrator इंटरफेस के एक बहुत है ... यहाँ यह है:
public static class MigrationExtensions {
public static ICreateTableWithColumnSyntax WithTimestamps(this ICreateTableWithColumnSyntax root) {
return root.
WithColumn("CreatedAt").AsDateTime().NotNullable().
WithColumn("UpdatedAt").AsDateTime().NotNullable();
}
}
इसी तरह, एक लगभग हर मेरी टेबल के एक पूर्णांक है 'आईडी' नामक प्राथमिक कुंजी, इसलिए मुझे लगता है कि मैं हमेशा उस आईडी को जोड़ने के लिए Table.CreateWithId("Foos")
जोड़ने जा रहा हूं। यकीन नहीं है ... मैं वास्तव में अभी FluentMigrator का उपयोग करना शुरू कर दिया, लेकिन जब भी संभव हो, आपको हमेशा रिफैक्टरिंग करनी चाहिए!
नोट: आप अपने माइग्रेशन के लिए सहायक/विस्तार तरीकों करते हैं, तो आप क्या उन तरीकों करना चाहिए कभी नहींकभीकभी परिवर्तन। यदि आप करते हैं, तो कोई आपके माइग्रेशन को चलाने का प्रयास कर सकता है और चीजें विस्फोट कर सकती हैं क्योंकि माइग्रेशन # 1 बनाने के लिए उपयोग की जाने वाली सहायक विधिएं पहले की तुलना में अलग-अलग काम करती हैं। https://github.com/schambers/fluentmigrator/blob/master/src/FluentMigrator/Builders/Create/Column/CreateColumnExpressionBuilder.cs
आप AsCustom("nvarchar(max)")
का उपयोग करें और विस्तार
यहाँ आप सहायक तरीकों बनाने बैठाना यह मदद करता है कॉलम बनाने के लिए कोड है
- 1. एसक्यूएल सर्वर, NTEXT को NVARCHAR (MAX)
- 2. क्या मैं समूह के साथ गैर-समेकित कॉलम का उपयोग कर सकता हूं?
- 3. क्या मैं SQLite में गणना कॉलम बना सकता हूं?
- 4. क्या मैं SharePoint में COUNTIF गणना कॉलम बना सकता हूं?
- 5. जावास्क्रिप्ट का उपयोग करके मैं div कैसे बना सकता हूं और शैली बना सकता हूं?
- 6. मैं एसक्यूएल में nvarchar (अधिकतम) डेटाटाइप पर इंडेक्स कैसे बना सकता हूं?
- 7. बीआईटी कॉलम का MAX मान प्राप्त करें
- 8. NVARCHAR (MAX) की तुलना में SQL सर्वर में XML डेटा प्रकार का प्रदर्शन जुर्माना क्या है?
- 9. मैं nvarchar (अधिकतम) पर बाधा क्यों नहीं डाल सकता?
- 10. Nvarchar कॉलम को INT
- 11. क्या मैं सामान्य प्रकार का शब्दकोश बना सकता हूं?
- 12. क्या मैं जीएई पर वसंत का उपयोग कर सकता हूं?
- 13. क्या मैं संगीत जीनोम प्रोजेक्ट का उपयोग कर सकता हूं?
- 14. क्या मैं .NET में "System.Currency" का उपयोग कर सकता हूं?
- 15. क्या मैं सरणी पर update_all का उपयोग कर सकता हूं?
- 16. क्या मैं एंड्रॉइड पर jmonkeyengine का उपयोग कर सकता हूं?
- 17. क्या मैं एकाधिक "साथ" का उपयोग कर सकता हूं?
- 18. एसक्यूएल: एकाधिक कॉलम पर ग्रुप BY और MAX का उपयोग
- 19. क्या मैं लिंक का उपयोग कर आईनेमरेबल्स से टुपल्स बना सकता हूं?
- 20. क्या मैं सी # का उपयोग कर एक फेसबुक एप्लीकेशन बना सकता हूं?
- 21. क्या मैं पॉइंटर्स का उपयोग कर फोरट्रान में उप सरणी बना सकता हूं?
- 22. क्या मैं रचनाकारों का उपयोग कर गतिशील रूप से उपयोगकर्ता नियंत्रण बना सकता हूं?
- 23. nvarchar (यूनिकोड) कॉलम के लिए COLLATIONS का बिंदु क्या है?
- 24. क्या मैं उस कॉलम में शून्य का उपयोग कर सकता हूं जिसमें AUTO_INCREMENT विशेषता
- 25. क्या मैं अनंत सीमा का उपयोग कर सकता हूं और इसे संचालित कर सकता हूं?
- 26. क्या मैं 8k से बड़ा लेकिन MAX से कम VARCHAR आकार सेट कर सकता हूं?
- 27. मैं अजीब का उपयोग करके क्या कर सकता हूं कि मैं पर्ल में नहीं कर सकता?
- 28. क्या मैं फ़ंक्शन संरचना का सही उपयोग कर रहा हूं?
- 29. मैं अपना खुद का हायर कैस्केड कैसे बना सकता हूं और इसे लागू कर सकता हूं?
- 30. मैं 1000 फाइलें कैसे बना सकता हूं जिनका उपयोग मैं स्क्रिप्ट का परीक्षण करने के लिए कर सकता हूं?