2012-03-26 10 views
18

से अद्यतन-डेटाबेस चलाना मैंने एंटीटी फ्रेमवर्क 4.3 डेटाबेस माइग्रेशन का उपयोग करके एक नया एप्लिकेशन बनाया है। "अद्यतन-डेटाबेस" कमांड का उपयोग कर माइग्रेशन पैकेज प्रबंधक कंसोल से बढ़िया काम करता है।टीम सिटी

अब जब भी टीम सिटी का उपयोग करके एप्लिकेशन बनाया गया है, तो मैं डेटाबेस माइग्रेशन को चलाने के लिए चाहता हूं, ऐसा लगता है कि मुझे एक पावरहेल स्क्रिप्ट बनाने की आवश्यकता है जो ऐसा करेगा।

क्या कोई मुझे कमांड लाइन, या पावरहेल से चलाने के लिए पैकेज प्रबंधक आदेशों को कैसे प्राप्त करें, इस पर कुछ निर्देशों को इंगित कर सकता है? मुझे यह पता चल सकता है कि पैकेज मैनेजर कंसोल के माध्यम से इसे कैसे किया जाए, जो मुझे नहीं पता कि टीम सिटी बिल्ड चरण से कैसे चलना है।

+2

ईएफ 4.3 में 'migrate.exe' नामक कमांड लाइन उपकरण शामिल है जो' अपडेट-डाटाबेस 'के समान कार्यक्षमता प्रदान करता है। –

उत्तर

18

migrate.exe जो मैं खोज रहा था, यह "पैकेज \ EntityFramework.4.3.1 \ tools" में पाया जाता है।

धावक प्रकार:: कमांड लाइन

कमान निष्पादन:

का उपयोग कर टीम शहर में एक नए निर्माण चरण जोड़ें संकुल \ EntityFramework.4.3.1 \ उपकरण \ migrate.exe

कमान पैरामीटर: MyAplicationName/StartupDirectory: MyApplicationName \ bin

6

एंटीटी फ्रेमवर्क को रेपो में इंस्टॉल करें और पैकेज \ EntityFramework.5.0.0 \ tools \ या समकक्ष के साथ साथ migrate.exe का उपयोग करें।

फिर इस तरह एक बैच स्क्रिप्ट चलाने:

SET AssemblyName=MyMvc4App 
SET StartUpDirectory=MyMvc4App\bin\ 
SET ConnectionString=Server=tcp:XXXX.database.windows.net,1433;Database=XXXX;User ID=XXXX;Password=XXXX;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True 
SET ConnectionStringProvider=System.Data.SqlClient 
SET ConfigFilePath=%CD%\MyMvc4App\web.config 
SET MigrateExe=packages\EntityFramework.5.0.0\tools\migrate.exe 

%MigrateExe% %AssemblyName%.dll /startUpDirectory:%StartUpDirectory% /startUpConfigurationFile:"%ConfigFilePath%" /connectionProviderName:"%ConnectionStringProvider%" /connectionString:"%ConnectionString%" /verbose 
pause 

मैं एक similar question के जवाब दिए और वहाँ मैं समझाता कारण है कि मैं अभी तक एक वेब/app.config फ़ाइल निर्दिष्ट किए बिना यह काम कर पाने के लिए है।

संबंधित मुद्दे