Context sınıfınızın default yapıcısı olmalı ve doğru dbnin adını vermelisiniz.
PM konsolunuzda ilgili projenizin(context'i barındıran) kök klasörüne gelmelisiniz ve "Enable-Migrations –EnableAutomaticMigrations" kodunu çalıştırmalısınız. Bu kodu bulamadım diyerek çalışmazsa entity framework'ünüzü güncellemeyi deneyin. Enable-Migrations –EnableAutomaticMigrations çalıştıktan sonra Migrations diye bir klasör ve içinde Configuration.cs sınıfının oluştuğunu göreceksiniz.
Ardından "Update-Database -Verbose" kodunu kullanrak kodunuzdaki güncellemeyi veritabanınıza yansıtabilirsiniz. -Verbose parametresi ile çalıştırılan SQL ifadelerini gözlemleyebilirsiniz.
Son olarak hem PM de hangi klasörede olduğumuzu hemde update sonucundaki sql ifadelerini görebileceğiniz ekran:
Aklımda Kalası Kelimeler
* давайте работать вместе
* Zarf ve Mazruf, Zerafet(xHoyratlık) ile aynı kökten(za-ra-fe) gelir
* Bedesten
* Suç subuta ermiştir - Suç sabit olmuştur
Migration etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Migration etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
4 Nisan 2013 Perşembe
1 Şubat 2011 Salı
Bir IIS sunucudan diğerine kopyalamak
Web Deploy (MSDeploy) how to sync a folder
IIS üstündeki virtual directory ve web site ları tek satır komut ile bir başka sunucuya aktarmak.
Yukarıdaki referansa göre önce tüm klasörleri ziple:
sonra bu zipi öteki makineye kopyala.
Bir simülasyon yapmak için
Kontrol edelim:
Sorun var.Olmasaydı
Eğer sağlam bir şekilde açılmışsa bunu kalıcı olarak yapmak için:
Sorunumuz Application Pool'ların aktarımıyla ilgili. Bakalım çözmek için ne yapabiliriz.
Evet şu adres: MSDEPLOY – Can I use it to migrate my IIS6 to another IIS6? oh yes!
Buna göre önce Application Pool lar için aşağıdaki komutla yedekleyelim:
AppPoolConfig klasörü C:\> dizini içinde oluşacak. Bu dizini hedef sunucudada aşağıdaki kodu çalıştırıp Application Pool'ları oluştururuz.Dikkat: Varsa önceki poollar silinmiş olacak!
Artık
Azıcık inceleyelim:
Aynı mantığı hedef makine içinde yapıyoruz.
Ek olarak şuna bir bakalım:
Yukarıdaki blokta
IIS üstündeki virtual directory ve web site ları tek satır komut ile bir başka sunucuya aktarmak.
C:\>iiscnfg /copy /ts webclusternode1 /tu FRESENIUS_IST\administrator /tp sifRedeGir Backing up server 127.0.0.1 Backup complete. Mapping local drive E: to admin share on server 127.0.0.1 Mapping local drive F: to admin share on server webclusternode1 Copying backup files... cmd /c copy /Y E:\system32\inetsrv\metaback\iisreplback.* F:\system32\inetsrv\me taback Unmapping local drive E: Restoring on server webclusternode1 Restore complete. Unmapping local drive F: Copy operation complete. C:\>
IIS6'dan IIS7 ye göç
Ref: http://www.iis.net/learn/publish/using-web-deploy/synchronize-iis-60-web-sitesYukarıdaki referansa göre önce tüm klasörleri ziple:
msdeploy -verb:sync -source:metakey=lm/w3svc/1 -dest:package=c:\Site1.zip
sonra bu zipi öteki makineye kopyala.
Bir simülasyon yapmak için
-whatif > logAdi.log
anahtarına benzer bir ekle:msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 -whatif > msdeploysync.logçalıştırır ve "C:\Program Files (x86)\IIS\Microsoft Web Deploy V3\msdeploysync.log" açılarak durumuna bakılır.
Kontrol edelim:
Sorun var.Olmasaydı
Eğer sağlam bir şekilde açılmışsa bunu kalıcı olarak yapmak için:
msdeploy -verb:sync -source:package=c:\Site1.zip -dest:metakey=lm/w3svc/1 > msdeploysync.logyapacaktık.
Sorunumuz Application Pool'ların aktarımıyla ilgili. Bakalım çözmek için ne yapabiliriz.
Evet şu adres: MSDEPLOY – Can I use it to migrate my IIS6 to another IIS6? oh yes!
Buna göre önce Application Pool lar için aşağıdaki komutla yedekleyelim:
C:\Program Files\IIS\Microsoft Web Deploy>msdeploy -verb:sync -source:metakey=lm/w3svc/AppPools -dest:archivedir=c:\AppPoolConfig
AppPoolConfig klasörü C:\> dizini içinde oluşacak. Bu dizini hedef sunucudada aşağıdaki kodu çalıştırıp Application Pool'ları oluştururuz.Dikkat: Varsa önceki poollar silinmiş olacak!
C:\Program Files\IIS\Microsoft Web Deploy>msdeploy -verb:sync -source:archivedir=c:\AppPoolConfig, -dest:metakey=lm/w3svc/AppPools
Artık
c:\Site1.zip
dosyamızı yeni IIS sunucumuzda geri yükleyebiliriz:C:\Program Files (x86)\IIS\Microsoft Web Deploy V3>msdeploy -verb:sync -source:m etakey=/lm/w3svc/1,computername=10.130.214.67,username=administrator,password=sifreBuMakine -dest:metakey=/lm/w3svc/3,computername=10.130.214.205,username=administrator,password=sifreOlsun -replace:objectName=metaproperty,match="wwwroot",replace="wwwroot\101"
Azıcık inceleyelim:
msdeploy -verb:sync
uygulama tüm içeriği eşleştirecek. -verb
parametresinin alabildiği diğer değerler için Web Deploy Command Line Syntax adresine bakılabilir.-source
ile dosyaların kaynağı olan IIS sunucusunun ya da dosyanın bulunduğu kaynağı işaret edeceğiz. :metakey=
ile kaynağın dosya olmadığını bir IIS işaret ettiğimizi belirtiyoruz. /lm/w3svc/1,
IIS üzerinde ID si 1 olan web site'ı işaret eder. computername=10.130.214.67, username=administrator, password=sifreBuMakine
ID si 1 olan IIS sunucusunun IP, kullanıcı adı ve şifre bilgilerini belirtiyoruz. Aynı mantığı hedef makine içinde yapıyoruz.
Ek olarak şuna bir bakalım:
-replace:
ile hedefte yapılacak değişiklikleri belirtiyoruz.objectName=metaproperty
için yedeklediğimiz zipin içinde archive.xml
dosyasından bir kısım gösterelim:<?xml version="1.0" encoding="utf-8" ?> <MSDeploy.metaKey MSDeploy.ObjectResolver.metaKey="Microsoft.Web.Deployment.MetaKeyObjectResolver" MSDeploy.ObjectResolver.metaProperty="Microsoft.Web.Deployment.MetaPropertyObjectResolver" MSDeploy.ObjectResolver.dirPath="Microsoft.Web.Deployment.DirPathObjectResolver" MSDeploy.ObjectResolver.filePath="Microsoft.Web.Deployment.FilePathObjectResolver"> <metaKey path="/lm/w3svc/1" MSDeploy.path="2" setProperties="1015,1017,1018,1099,1012,1016,9101,6006,1002,4011,1023" MSDeploy.setProperties="1" MSDeploy.MSDeployLinkName="Child1" MSDeploy.MSDeployKeyAttributeName="path" MSDeploy.MSDeployProviderOptions="H4sIAAAAAAAEAOy9B2AcSZYlJi9tynt/SvVK1B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9fB8/In6NX/PXDVjf/7//6//2/8xP9o1/r1/g1fo3vfVFM66qpztvxVT4Zz/JVWV0v8mU7Sn8yr5uiWn72YLw73hnvjNKTddmu6/yzZb5u66wcpS/Xk7KY/l759Zvqbb787N7u5Pzewf1Ps9m9T/fze/d/XfS05zr4LnXw1Hbg/fqyri6LWV5/uWqpwbXTVjV/jN1rpZyyRf7rrLJ2/usus0Xe/HqXWbnOm1/z1/z1fj2g/v92r/Gr/Fr/PqLvM1r/z618OLSbm4e3WvuZze3f2xX/fXDVjR/79X6NXPXM3xG/73mMv/O83/H8CAAD//7UD9MUPAQAA"> <metaProperty name="ServerComment" propertyId="1015" attributes="Inherit" userType="1" dataType="String" value="Default Web Site" MSDeploy.value="8" MSDeploy.MSDeployKeyAttributeName="name"> <rootWebConfig32 path="Default Web Site" MSDeploy.path="2" version="4.0" MSDeploy.version="2" MSDeploy.MSDeployLinkName="Microsoft.Web.Deployment.FrameworkConfigExtensionRootWebConfig32" MSDeploy.MSDeployKeyAttributeName="path" MSDeploy.MSDeployProviderOptions="H4sIAAAAAAAEAOy9B2AcSZYlJi9tynt/SvVK1B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9fB8/In6NX/PXDVjf/7//6//2/8xP9o1/r1/g1fo3vfVFM66qpztvxVT4Zz/JVWV0v8mU7Sn8yr5uiWn72YLw73hnvjNKTddmu6/yzZb5u66wcpS/Xk7KY/l759Zvqbb787N7u5Pzewf1Ps9m9T/fze/d/XfS05zr4LnXw1Hbg/fqyri6LWV5/uWqpwbXTVjV/jN1rpZyyRf7rrLJ2/usus0Xe/HqXWbnOm1/z1/z1fj2g/v92r/Gr/Fr/KZ1VbUE/KRanhcX9/ZPQD4zZ7m5xkhnNIX6euizX/s1/01fo1f48dvV/j1/g1fnP8hv/95vgL//sN/58AAAD//zNOiHsdAQAA" /> <machineConfig32 path="Default Web Site" MSDeploy.path="2" version="4.0" MSDeploy.version="2" MSDeploy.MSDeployLinkName="Microsoft.Web.Deployment.FrameworkConfigExtensionMachineConfig32" MSDeploy.MSDeployKeyAttributeName="path" MSDeploy.MSDeployProviderOptions="H4sIAAAAAAAEAOy9B2AcSZYlJi9tynt/SvVK1B0oQiAYBMk2JBAEOzBiM3mkuwdaUcjKasqgcplVmVdZhZAzO2dvPfee999577733ujudTif33/8/XGZkAWz2zkrayZ4hgKrIHz9fB8/In6NX/PXDVjf/7//6//2/8xP9o1/r1/g1fo3vfVFM66qpztvxVT4Zz/JVWV0v8mU7Sn8yr5uiWn72YLw73hnvjNKTddmu6/yzZb5u66wcpS/Xk7KY/l759Zvqbb787N7u5Pzewf1Ps9m9T/fze/d/XfS05zr4LnXw1Hbg/fqyri6LWV5/uWqpwbXTVjV/jN1rpZyyRf7rrLJ2/usus0Xe/HqXWbnOm1/z1/z1fj2g/v92r/Gr/Fr/KaLbDovlvlJtTwvLu7t/XoA8Js9zc8zQjilXtPXRZv/2K/7a/wav8aP/Xq/xq/xa/zmA3/83xF/73G/4/AQAA//8OZme7HQEAAA==" /> </metaProperty> <metaProperty name="ServerAutoStart" propertyId="1017" attributes="None" userType="1" dataType="DWord" value="1" MSDeploy.value="8" MSDeploy.MSDeployKeyAttributeName="name" /> <metaProperty name="ServerSize" propertyId="1018" attributes="Inherit" userType="1" dataType="DWord" value="1" MSDeploy.value="8" MSDeploy.MSDeployKeyAttributeName="name" /> <metaProperty name="Win32Error" propertyId="1099" attributes="Volatile" userType="1" dataType="DWord" value="0" MSDeploy.value="9" MSDeploy.MSDeployKeyAttributeName="name" /> <metaProperty name="ServerCommand" propertyId="1012" attributes="Volatile" userType="1" dataType="DWord" value="1" MSDeploy.value="9" MSDeploy.MSDeployKeyAttributeName="name" /> <metaProperty name="ServerState" propertyId="1016" attributes="Volatile" userType="1" dataType="DWord" value="2" MSDeploy.value="9" MSDeploy.MSDeployKeyAttributeName="name" /> <metaProperty name="AppPoolId" propertyId="9101" attributes="Inherit" userType="1" dataType="String" value="DefaultAppPool" MSDeploy.value="8" MSDeploy.MSDeployKeyAttributeName="name" /> <metaProperty name="DefaultDoc" propertyId="6006" attributes="Inherit" userType="2" dataType="String" value="Default.aspx,Default.htm,Default.asp,index.htm,iisstart.htm" MSDeploy.value="8" MSDeploy.MSDeployKeyAttributeName="name" />
Yukarıdaki blokta
metaProperty
anahtarının değerlerinde bir regular expression çalıştırıp ,match="wwwroot"
wwwroot kelimelerini ,replace="wwwroot\101"
"wwwroot\101" ile değiştireceğiz. Böylece hedef sunucuda yeni klasörümüz c:\inetpub\wwwroot\101 olarak belirlenmiş olacak.Dosya Eşleştirme
msdeploy.exe –verb:sync -source:contentPath="C:\temp\files-to-pub" -dest:contentPath='sayedupdemo/files'
msdeploy.exe -verb:sync -source:contentPath="C:\temp\files-to-pub" -dest:auto ,ComputerName="https://waws-prod-blu-001.publish.azurewebsites.windows.net/msdeploy.axd?site=sayedupdemo" ,UserName='$sayedupdemo' ,Password='thisIsNotMyRealPassword' ,AuthType='Basic' -enableRule:DoNotDeleteRule -setParam:value='sayedupdemo',kind=ProviderPath,scope=contentPath,match='^C:\\temp\\files-to-pub$'
Kaydol:
Kayıtlar (Atom)