2009-09-16 39 views
29

Tôi đang phát triển một ứng dụng với Ruby on Rails mà tôi muốn duy trì trong ít nhất một vài năm, vì vậy tôi lo ngại về phiên bản tiếp theo sắp ra mắt.Làm thế nào tôi có thể làm cho của Ruby on Rails của tôi 2.3.4 ứng dụng "Rails 3-ready"

Đi từ Rails 1 đến Rails 2 là một nỗi đau lớn đến mức tôi không bận tâm và đóng băng đá quý của mình và để ứng dụng chết, một mình, trong bóng tối.

Về dự án này, tôi không muốn làm điều đó. Đầu tiên là vì this new version looks awesome, nhưng cũng vì ứng dụng này có thể biến thành sản phẩm thực.

  • Làm cách nào để chuẩn bị ứng dụng để có thể nâng cấp với ít thay đổi nhất có thể.

  • phiên bản Làm thế nào tiêu thụ thời gian bạn có nghĩ chuyển đổi sẽ được?

  • Và những gì về máy chủ của tôi? Triển khai?

Tôi đã xem thông báo không dùng nữa ... tôi có thể làm gì khác?

Trả lời

10

Các t tốt nhất hing bạn có thể làm là theo dõi sự phát triển của Rails 3 thông qua các blog và kho Github và theo dõi một bản sao của ứng dụng của bạn cùng với nó.

Quan chức Ruby on Rails blog được cập nhật với "Có gì mới trong Edge" bài viết mỗi một lần trong một thời gian. Có otherblogs mà thường viết về những điều mới trong cạnh là tốt. Các tính năng lớn hơn thường được đánh dấu trong các blog này, vì vậy bạn biết về tất cả các tính năng mới thú vị mà bạn có thể chơi cùng.

Tôi không chắc Rails 3 sẽ phát hành gần như thế nào (cuối cùng tôi nghe nhóm phát hành về RailsConf 2009 vào tháng 5), nhưng bạn luôn có thể đóng băng phiên bản Rails vào ứng dụng của mình và xem những gì phá vỡ. Nếu bạn đang sử dụng git, hoặc một DVCS khác, bạn có thể tạo một nhánh cụ thể cho Rails 3 và định kỳ cập nhật Rails lên mã cạnh mới nhất. Chỉ cần lưu ý rằng edge Rails là một mục tiêu di động để mọi thứ trong ứng dụng của bạn có thể bị hỏng hoặc tự khắc phục khi bạn đang kéo mã Rails mới hơn.

Cập nhật: Jeremy McAnally có rất nhiều thông tin về nâng cấp từ Rails 2 lên Rails 3 trên blog của mình. http://omgbloglol.com/

+2

Trong khi "các tính năng mới thú vị" thường được viết blog về, sự cố sẽ bị ngừng sử dụng; mọi người đang tích cực viết blog về những gì không/sẽ không hoạt động nữa? – Stobor

+0

Chạy ứng dụng của bạn với Rails 2.3.9 (http://weblog.rubyonrails.org/2010/9/4/ruby-on-rails-2-3-9-easedeased) – Matt

2

Tôi không nghĩ rằng sẽ có một vấn đề lớn. Đi tắt những gì đã nói ở chỗ báo cáo ban đầu đội Rails nhận ra rằng họ không thể làm một chính viết lại như họ đã làm từ 1 đến 2.

Họ thậm chí nói:

Tôi chắc rằng có' sẽ là một số phần của Rails 3 không tương thích, nhưng chúng tôi sẽ cố gắng giữ chúng ở mức tối thiểu và dễ dàng chuyển đổi ứng dụng Rails 2.x sang Rails 3.

Tôi sẽ quan tâm hơn đi từ Merb để Rails 3.

1

Để chuẩn bị ứng dụng của bạn, cách tốt nhất mà Jared nói. Theo dõi phát triển Rails3.

Vì tốn thời gian, tôi nghĩ nó phụ thuộc vào cách bạn đã theo dõi phát triển đường ray3 trước khi phát hành.

Và để triển khai, không nên quá nhiều vấn đề. Rails 3 sẽ sử dụng Rack. Vì vậy, bạn có thể bắt đầu nó với mongrel, hành khách hoặc bất kỳ máy chủ/gateway nó không nên cung cấp cho bạn bất kỳ vấn đề.

2

Điều quan trọng nhất bạn có thể làm để giúp dễ dàng di chuyển sang phiên bản đường ray mới là có bộ thử nghiệm toàn diện. Nếu không có một bộ thử nghiệm tốt, tôi sẽ không bao giờ có sự tự tin rằng phiên bản mới của đường ray đã không bị hỏng một cái gì đó trong ứng dụng của tôi. Trên ứng dụng Rails hiện tại tôi đang làm việc, chúng tôi đã bắt đầu trên Rails 2.1.1 vào tháng 10 năm 2008. Kể từ đó, chúng tôi đã chuyển sang Rails 2.1.2, 2.2.2, 2.3.2, 2.3.3 và bây giờ 2.3.4. Tôi đã di chuyển sang 2.3.2, 2.3.3 và 2.3.4 ... và để nâng cấp 2.3.2 và 2.3.3, chúng tôi đã có một số thử nghiệm không thành công để cảnh báo chúng tôi về các vấn đề mà chúng tôi sẽ không phát hiện được nếu không có bộ kiểm tra tốt. Các thử nghiệm thất bại thực sự cảnh báo chúng tôi về một lỗi hồi quy trong đường ray có một bản vá trên ngọn hải đăng Rails nhưng không được đưa vào bản phát hành (kể từ khi nó được phát hiện, ngay sau khi phát hành).

Khi bạn đã có bộ thử nghiệm đó, chỉ cần cập nhật hiện tại với mỗi bản phát hành đường ray (chờ một vài tuần để nâng cấp là tốt, chỉ cần không bỏ qua bất kỳ bản phát hành nào).

Yehuda Katz (thành viên của nhóm lõi Rails) has stated rằng rất có thể sẽ là bản phát hành chuyển tiếp, có chứa cảnh báo không dùng nữa và như vậy. Vì vậy, miễn là bạn có một bộ kiểm tra tốt để lộ các vấn đề nâng cấp không thể tránh khỏi, và ở hiện tại với bản phát hành Rails, việc di chuyển sang Rails 3 không nên quá khó khăn.

1

Sẽ có một số trình kiểm tra tính tương thích tự động. Ngoài ra, hãy theo dõi http://www.railsplugins.org/ để bạn biết liệu các thư viện mà bạn phụ thuộc có đang được nâng cấp hay không. Nhóm Rails Core dường như đã đưa ra rất nhiều thông báo trước cho cộng đồng lần này, vì vậy bất kỳ thư viện nào được duy trì tích cực đều phải tốt.

+0

http://isitruby19.com/ là cũng là một trang web tốt để theo dõi. Nhiều người sẽ tìm cách nâng cấp lên Ruby 1.9 vì Rails có 1,9 khả năng tương thích đầy đủ. – Jared

1

Chỉ cần làm một việc

lấy một bản sao lưu của dự án phiên bản cũ của bạn đầu tiên và sau đó

trên thiết bị đầu cuối (command prompt) viết

rails new path/of/the/project 

ví dụ nếu 2.3 của tôi.* Dự án là tại home/rails_projects/myproject sau đó

rails new home/rails_projects/myproject 

hoặc

cd home/rails_projects 
rails new myproject 

Nó sẽ hỏi nếu có bất kỳ thay đổi được thực hiện trong bất kỳ /config hoặc các tập tin khác. Làm thích hợp.

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