/ / Azure में कोड प्रथम माइग्रेशन को कैसे सक्षम करें - c #, एंटिटी-फ्रेमवर्क, एज़्योर, एफई-माइग्रेशन

Azure - c #, इकाई-ढांचे, Azure, ef-migrations में कोड प्रथम माइग्रेशन को कैसे सक्षम करें

मैं वीएस 2013 में कोड फर्स्ट माइग्रेशन दृष्टिकोण का उपयोग करके एमवीसी 5 प्रोजेक्ट विकसित कर रहा हूं। शुरुआत में सभी स्थानीय रूप से ठीक काम कर रहे थे और पहली बार मैंने एमवीसी साइट को एज़्योर में तैनात किया था।

दोनों स्थानों (स्थानीय और Azure) में पहचान तालिकाएँ सही ढंग से बनाई गई थीं:

  • __MigrationHistory
  • AspNetRoles
  • AspNetUserClaims
  • AspNetUserLogins
  • AspNetUserRoles
  • AspNetUser

मैं जिस समस्या का सामना कर रहा हूं वह तब है जब मैंने दो नए जोड़े हैंकॉलम: उपयोगकर्ता के लिए इस डेटा को संग्रहीत करने के लिए नाम और अंतिम नाम। फिर, मैं प्रथम कोड माइग्रेशन का उपयोग करके अपने स्कीमा को अपडेट करता हूं। यह मेरे स्थानीय मशीन में सही ढंग से अपडेट किया गया था। नए स्तंभों को AspNetUser तालिका में जोड़ा गया था।

हालाँकि, जब मैंने इसे एज़्योर पर तैनात किया, तो उस तालिका में नया कॉलम अभी तक नहीं था। जिसके कारण मुझे त्रुटि मिली है:

Server Error in "/" Application.

Invalid column name "Name".
Invalid column name "LastName".
Invalid column name "Name".
Invalid column name "LastName".
Invalid column name "Name".
Invalid column name "LastName".

तो, मैं Azure में अपने MVC प्रोजेक्ट के लिए कोड पहले माइग्रेशन को कैसे सक्षम कर सकता हूं? ताकि, जब मैं इसे Visual Studio से परिनियोजित करूँ तो डेटा बेस स्कीमा Azure में भी अपडेट हो जाता है।

उत्तर:

उत्तर № 1 के लिए 1

यहाँ 2 समाधान हैं:

1. उपयोग करना Update-Database पैकेज मैनेजर कंसोल से:

पैकेज प्रबंधक कंसोल से निम्न चलाएँ:

Update-Database
-TargetMigration {YourMigration}
-ConnectionString "Server=tcp:{your server name}.database.windows.net,1433;
Database={your db};
User ID={your user}@{your server};
Password={your password};
Trusted_Connection=False;
Encrypt=True;
Connection Timeout=30;"
-ConnectionProviderName "System.Data.SqlClient"

अपने Azure पोर्टल कनेक्शन स्ट्रिंग से प्रासंगिक सर्वर नाम, उपयोगकर्ता नाम, db और पासवर्ड डेटा बदलें

2. कोड से माइग्रेशन चलाएँ:

निम्नलिखित में जोड़ें Application_Start Global.asax में

protected void Application_Start()
{
//....

// Running Migrations from Code:
var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
migrator.Update();
}

अपडेट विधि को कॉल करने से लक्ष्य डेटाबेस को नवीनतम माइग्रेशन में अपडेट किया जाएगा।

से लिया गया: https://romiller.com/2012/02/09/running-scripting-migrations-from-code/