Apakah Kode Pertama dengan Migrasi atau Alat Data SQL Server lebih cocok?

11

Saya telah diberikan spek untuk membuat situs web MVC4 baru, pada awalnya tidak akan terlalu besar proyek tetapi saya menduga itu akan tumbuh ketika bisnis mendapatkan ide-ide baru untuk itu.

Menggunakan .NET 4.5 ASP.NET MVC4 dan EF saya harus memilih antara kode-pertama dengan migrasi atau Alat Data Server Sql (SSDT) ​​untuk menangani database saya.

Dengan SSDT saya dapat mengontrol basis data saya dalam suatu proyek sebagai bagian dari solusi saya dan menangani perubahan mulai dari dev hingga produksi dan seterusnya menggunakan file dacpac. Pengalaman saya kode-pertama dari MVC3 adalah tidak menggunakannya di luar pengembangan karena opsi basis data yang terbatas. Itu akan selalu berakhir dengan menjatuhkan Db pada perubahan model atau menangani perubahan Db secara manual. Namun saya dituntun untuk percaya dengan Migrasi MVC4 yang tidak lagi terjadi dan saya sekarang dapat mendorong pembaruan ke Db.

Jadi pertanyaan saya adalah mana yang paling efisien untuk digunakan berdasarkan penghematan waktu / upaya dalam pembangunan tetapi juga dapat diukur dan mampu menangani perubahan produksi. Saya menyukai kode-pertama dan kemampuan untuk menghasilkan Database saya dari Model, apakah pengenalan migrasi sekarang membuatnya layak dalam produksi?

James
sumber

Jawaban:

2

Pendapat pribadi saya adalah bahwa codefirst alat yang hebat dan bagus untuk pengembangan. Langkah-langkah pengembangan basis data pertama harus berupa skrip alat eksternal atau dengan tangan, jika Anda sudah memiliki basis data produksi.

Codefirst akan dimasukkan dalam pengembangan sistem kontrol versi database dan menyediakan pengembangan database terdistribusi.

Titik awal, ini adalah seri yang bagus:

http://coding.abel.nu/2012/02/using-entity-framework-to-create-a-database/

Gábor Plesz
sumber
Sudahkah Anda mencoba ssdt, dapat membandingkan 2?
James
1
Ya, saya menggunakannya secara teratur di versi SSDT sebelumnya. Aku melihat terbaru di link ini: msdn.microsoft.com/en-us/jj650015 , sqlblog.com/blogs/jamie_thomson/archive/2013/03/21/... , develop.com/sqlservertwelvedatatools , blogs.msdn.com/ b / ssdt / arsip / 2012/12/13 /… . Saya belum mencoba tes unit database, tapi saya pikir kuncinya adalah untuk digunakan di samping kode pertama dan SSDT.
Gábor Plesz
Saya akan segera membaca blog-blog itu. Saya tidak berpikir kode-pertama dan SSDT akan bekerja berdampingan. Kecuali Anda menggunakan kode-pertama selama dev dan beralih ke SSDT untuk produksi? Saya akan membaca tautan Anda!
James
Saya melakukan metode pengembangan kode basis data pertama. Migrasi codefirst memecahkan langkah-langkah untuk menginstal database (membuat tabel baru, kolom baru ke tabel yang ada, dll). Misalnya, jika Anda ingin membuat tes unit basis data , Anda juga dapat menggunakan SSDT. Jika kita ingin membandingkan dua struktur , juga bisa menggunakan SSDT. Setidaknya, jadi saya menggunakannya. Pengembangan dan penyebaran codefirst sangat bagus.
Gábor Plesz
Dari apa yang saya kira SSDT sangat cocok untuk Db First dan dari semua yang Anda katakan dan diposting tampaknya opsi migrasi yang ditambahkan ke MVC4 sebenarnya membuat kode-pertama dapat digunakan di luar dev awal!
James