Visual Studio veya Visual Web Developer kullanarak SQL Server Compact ile ASP.NET Web Uygulaması Dağıtma: Veritabanı Güncelleştirmesi Dağıtma - 9 /12
tarafından Tom Dykstra
Bu öğretici serisi, Visual Studio 2012 RC veya Web için Visual Studio Express 2012 RC kullanarak SQL Server Compact veritabanı içeren bir ASP.NET web uygulaması projesi dağıtmayı (yayımlamayı) gösterir. Web Yayımlama Güncelleştirmesi'ni yüklerseniz Visual Studio 2010'u da kullanabilirsiniz. Seriye giriş için serideki ilk öğreticiye bakın.
Visual Studio 2012'nin RC sürümünden sonra sunulan dağıtım özelliklerini gösteren, SQL Server Compact dışındaki SQL Server sürümleri dağıtmayı ve Azure App Service Web Apps'a dağıtmayı gösteren bir öğretici için bkz. Visual Studio kullanarak Web Dağıtımı'nı ASP.NET.
Genel Bakış
Bu öğreticide bir veritabanı değişikliği ve ilgili kod değişiklikleri yapacak, Visual Studio'da değişiklikleri test edip güncelleştirmeyi hem test hem de üretim ortamlarına dağıtacaksınız.
Anımsatıcı: Öğreticide ilerlerken bir hata iletisi alırsanız veya bir şey çalışmıyorsa sorun giderme sayfasını kontrol edin.
Tabloya Yeni Sütun Ekleme
Bu bölümde, ve Instructor
varlıkları için Student
temel sınıfa Person
bir doğum tarihi sütunu ekleyebilirsiniz. Ardından eğitmen verilerini görüntüleyen sayfayı yeni sütunu görüntüleyebilecek şekilde güncelleştirirsiniz.
ContosoUniversity.DAL projesinde Person.cs dosyasını açın ve sınıfın Person
sonuna aşağıdaki özelliği ekleyin (bunu izleyen iki kapanış küme ayracı olmalıdır):
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
[Display(Name = "Birth Date")]
public DateTime? BirthDate { get; set; }
Ardından Seed yöntemini yeni sütun için bir değer sağlayacak şekilde güncelleştirin. Migrations\Configuration.cs dosyasını açın ve doğum tarihi bilgilerini içeren aşağıdaki kod bloğuyla başlayan var instructors = new List<Instructor>
kod bloğunu değiştirin:
var instructors = new List<Instructor>
{
new Instructor { FirstMidName = "Kim", LastName = "Abercrombie", HireDate = DateTime.Parse("1995-03-11"), BirthDate = DateTime.Parse("1918-08-12"), OfficeAssignment = new OfficeAssignment { Location = "Smith 17" } },
new Instructor { FirstMidName = "Fadi", LastName = "Fakhouri", HireDate = DateTime.Parse("2002-07-06"), BirthDate = DateTime.Parse("1960-03-15"), OfficeAssignment = new OfficeAssignment { Location = "Gowan 27" } },
new Instructor { FirstMidName = "Roger", LastName = "Harui", HireDate = DateTime.Parse("1998-07-01"), BirthDate = DateTime.Parse("1970-01-11"), OfficeAssignment = new OfficeAssignment { Location = "Thompson 304" } },
new Instructor { FirstMidName = "Candace", LastName = "Kapoor", HireDate = DateTime.Parse("2001-01-15"), BirthDate = DateTime.Parse("1975-04-11") },
new Instructor { FirstMidName = "Roger", LastName = "Zheng", HireDate = DateTime.Parse("2004-02-12"), BirthDate = DateTime.Parse("1957-10-12") }
};
ContosoUniversity projesinde Instructors.aspx dosyasını açın ve doğum tarihini görüntülemek için yeni bir şablon alanı ekleyin. İşe alma tarihi ve ofis ataması için olanlar arasına ekleyin:
<asp:TemplateField HeaderText="Birth Date" SortExpression="BirthDate">
<ItemTemplate>
<asp:Label ID="InstructorBirthDateLabel" runat="server" Text='<%# Eval("BirthDate", "{0:d}") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="InstructorBirthDateTextBox" runat="server" Text='<%# Bind("BirthDate", "{0:d}") %>'
Width="7em"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
(Kod girintisi eşitlenmemişse, dosyayı otomatik olarak yeniden biçimlendirmek için CTRL-K ve sonra CTRL-D tuşlarına basabilirsiniz.)
Çözümü derleyin ve ardından Paket Yöneticisi Konsolu penceresini açın. ContosoUniversity.DAL dosyasının Hala Varsayılan proje olarak seçili olduğundan emin olun.
Paket Yöneticisi Konsolu penceresinde, Varsayılan proje olarak ContosoUniversity.DAL öğesini seçin ve aşağıdaki komutu girin:
add-migration AddBirthDate
Bu komut tamamlandığında, Visual Studio yeni DbMigration
sınıfı tanımlayan sınıf dosyasını açar ve yönteminde Up
yeni sütunu oluşturan kodu görebilirsiniz.
Çözümü derleyin ve paket yöneticisi konsolu penceresine aşağıdaki komutu girin (ContosoUniversity.DAL projesinin hala seçili olduğundan emin olun):
update-database
Komut tamamlandığında uygulamayı çalıştırın ve Eğitmenler sayfasını seçin. Sayfa yüklendiğinde, yeni doğum tarihi alanına sahip olduğunu görürsünüz.
Veritabanı Güncelleştirmesini Test Ortamına Dağıtma
Çözüm Gezgini ContosoUniversity projesini seçin.
Web One Yayımla araç çubuğunda Yayımla'ya tıklayın, Yayımlama profilini test et'i seçin ve ardından Web'i Yayımla'ya tıklayın. (Araç çubuğu devre dışı bırakılırsa, Çözüm Gezgini'da ContosoUniversity projesini seçin.)
Visual Studio güncelleştirilmiş uygulamayı dağıtır ve tarayıcı giriş sayfasında açılır. Güncelleştirmenin başarıyla dağıtıldığını doğrulamak için Eğitmenler sayfasını çalıştırın. Uygulama bu sayfanın veritabanına erişmeye çalıştığında Code First veritabanı şemasını güncelleştirir ve yöntemini çalıştırır Seed
. Sayfa görüntülendiğinde, içinde tarihlerin olduğu beklenen Doğum Tarihi sütununu görürsünüz.
Veritabanı Güncelleştirmesini Üretim Ortamına Dağıtma
Artık üretime dağıtabilirsiniz. Tek fark, kullanıcıların siteye erişmesini engellemek ve böylece değişiklikleri dağıtırken veritabanını güncelleştirmek için app_offline.htm kullanmanızdır. Üretim dağıtımı için aşağıdaki adımları gerçekleştirin:
- app_offline.htm dosyasını üretim sitesine yükleyin.
- Visual Studio'da , Web'de Üretim profilini seçin Tek TıklamaYla Yayımla araç çubuğunda Web'i Yayımla'ya tıklayın.
- app_offline.htm dosyasını üretim sitesinden silin.
Not
Uygulamanız üretim ortamında kullanımdayken bir yedekleme planı uygulamanız gerekir. Yani, düzenli aralıklarla School-Prod.sdf ve aspnet-Prod.sdf dosyalarını üretim sitesinden güvenli bir depolama konumuna kopyalamanız ve bu tür yedeklemelerin birkaç neslini tutmanız gerekir. Veritabanını güncelleştirdiğinizde, değişiklikten hemen önce bir yedek kopya oluşturmanız gerekir. Ardından, bir hata yaparsanız ve üretime dağıtılana kadar bu hatayı bulamazsanız, veritabanını bozulmadan önceki durumuna kurtarabilirsiniz.
Visual Studio tarayıcıda giriş sayfası URL'sini açtığında ,app_offline.htm sayfası görüntülenir. app_offline.htm dosyasını sildikten sonra, güncelleştirmenin başarıyla dağıtıldığını doğrulamak için giriş sayfanıza yeniden göz atabilirsiniz.
Şimdi hem test hem de üretimde veritabanı değişikliği içeren bir uygulama güncelleştirmesi dağıttınız. Sonraki öğreticide veritabanınızı SQL Server Compact'den SQL Server Express ve SQL Server'e nasıl geçirebilirsiniz gösterilmektedir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin