2013-07-04 38 views
5

Đến từ các biểu mẫu web asp.net chuyển sang mã mvc và mã khuôn khổ thực thể đầu tiên, tôi có một câu hỏi. Làm thế nào tôi có thể thiết lập môi trường của tôi để triển khai để sản xuất?Làm thế nào để triển khai sản xuất với mã khuôn khổ thực thể đầu tiên

Im sử dụng Visual Studio 2012 và triển khai gói triển khai web. Tại địa phương tôi có SQL Express và trong sản xuất tôi có SQL Server 2008.

Điều tôi muốn là phát triển một thử nghiệm cục bộ trên máy tính của mình và theo thời gian triển khai giải pháp của tôi để sản xuất với gói triển khai web. Tôi không muốn chạy di trú trong hệ thống sản xuất, thay vào đó tôi muốn tạo các kịch bản từ studio trực quan mà tôi có thể thêm vào SQL sản xuất.

Tôi cố gắng để:

  • Tạo di cư ban đầu trong dev.
  • Cập nhật cơ sở dữ liệu địa phương
  • Tạo kịch bản, cập nhật cơ sở dữ liệu -script -sourcemigration: InitialCreate
  • Áp dụng kịch bản này trong sản xuất
  • Triển khai các ứng dụng để sản xuất

là cách tiếp cận đúng này? Điều gì về việc di chuyển của tôi sẽ chạy cục bộ, chúng sẽ không được sản xuất khi tôi triển khai vì mã di chuyển của tôi không?

Trong global.asax

Migrator.RunMigrations(); 

nơi RunMigrations là một phương pháp tĩnh trong một lớp tùy chỉnh Migrator như thế này

public class Migrator 
    { 
     public static void RunMigrations() 
     { 
      var migrator = new Configuration(); 
      var dbMigrator = new System.Data.Entity.Migrations.DbMigrator(migrator); 
      if (dbMigrator.GetPendingMigrations().Any()) 
      { 


       dbMigrator.Update(); 

      } 
     } 
    } 

Trả lời

2

Bạn có thể với Web Setup Project (cho việc lắp đặt một MSI Tuỳ chỉnh hành động là cần thiết) :

Công việc thực tế của việc cập nhật cơ sở dữ liệu có thể được thực hiện bằng công cụ migrate.exe. Để làm cho gói MSI chạy nó đúng cách hóa ra là một chút thách thức. Lần đầu tiên tôi đưa migrate.exe vào gói cài đặt để nó được triển khai vào thư mục bin cùng với các assembly của hệ thống. Có hỗ trợ cho chạy một tập tin exe như là một hành động tùy chỉnh trong các dự án thiết lập web. Thật không may tôi không thể di chuyển migrate.exe để làm việc trừ khi thư mục làm việc được đặt vào thư mục bin. Thư mục làm việc cho các hành động tùy chỉnh là c: \ windows \ system32 theo mặc định. Để xử lý điều đó, một vb-script nhỏ đã được sử dụng.

http://coding.abel.nu/2012/04/update-database-msi-custom-action/

UPDATE:

tôi thấy thisthisthis, có thể giúp đỡ.

Các vấn đề liên quan