2011-10-13 2 views
5

레일즈 1.2.3 버전을 만들고 있습니다. 이제 Rails 버전과 ruy 버전을 1.8.6에서 1.9.7로 업그레이드하고 싶습니다.레일 앱을 1.2.3에서 3.1.0으로 업그레이드 하시겠습니까?

이전 버전에서 작동하는 것이 큰 고통이지만 실행중인 상태입니다. 이제 Rails의 고급 기능을 원하지만이 이전 버전은 지원하지 않습니다.

버전 및 루비 버전을 업그레이드하는 방법을 제안 해주세요.

고마워 ....

+0

. 가이드를 사용하여 레일 2로 업그레이드하는 것이 좋습니다. 모든 테스트가 통과되었는지 확인하고 (경우에 따라 프로덕션에서 며칠/주), 레일 2에서 레일 3까지 업그레이드 가이드를 따르십시오. –

+0

@ 요르단 : 고마워. 그러나 나는이 단계를 따르기에 충분한 시간이 없었다. 이걸 업그레이드 할 생각이라면 알려주세요. 나는 그 접근법을 시도 할 것이다. – Rubyist

+0

@ Jordan : Rails 1에서 Rails 2 버전으로 업그레이드하기위한 참조 문서가 있습니까? ? 당신이 그때 공유하는 경우에 ... 감사합니다 – Rubyist

답변

4

그것은 상당히 도약입니다. 가장 좋은 방법은 새 레일 3.1 응용 프로그램을 만든 다음 코드를 수동으로 마이그레이션하는 것입니다. 당신이해야합니다

gem install rails #=> will install the latest stable release from rubygems 
gem install bundler 
rails new myapp 

우선 Gemfile을 열고 현재 응용 프로그램에서 사용하고있는 모든 보석을 추가하고, 또한 어떤 플러그인의 보석 버전을 찾을 수있는 좋은 방법이 될 것입니다 당신은 (vendor/plugins에서) 사용하고 있습니다. 또한 사용중인 데이터베이스 유형 (mysql2, sqlite3 또는 pg)에 맞는 보석이 설치되어 있는지 확인하십시오.

필요한 모든 보석을 추가 한 후 bundle install을 실행하여 모든 보석을 응용 프로그램과 함께 제공하십시오.

보기, 모델 및 컨트롤러에 관한 한, 새로운 응용 프로그램으로 복사하는 것이 좋습니다. 아마도 몇 가지 사항을 조정할 필요가 있지만, 대부분은 모든 것이 잘 작동해야합니다.

또한 config/application.rb을 열어 응용 프로그램을 구성해야합니다. 이전 environment.rb 파일을 참조로 사용할 수 있습니다.

routes.rb 파일을 새로운 Rails 3 형식으로 변경하면 응용 프로그램을 시작할 수 있습니다. 레일스 3 라우팅 파일을 작성하는 방법을 먼저 배워야하고 루트에 수동으로 작성해야하기 때문에 이것은 마이그레이션의 최악의 부분 일 것입니다. 자세한 내용은 here을 참조하십시오.

나는 레일 1을 사용하지 않았으므로 다른 것들을 변경해야 할 수도 있습니다. These three Railscasts은 분명 도움이 될 것입니다.

+0

감사합니다. 보스. 당신이 준 단계는 정말 괜찮습니다. 당신은 라우팅이 나를 죽일 것이라고 아주 잘 말했습니다. – Rubyist

0

주요 응용 프로그램을 2.3.10에서 3.0.9로 마이그레이션했습니다. 매우 어려운 과정이며, 3.1로 이동하려면 더욱 악화되었을 것입니다.

응용 프로그램 크기에 따라 새 응용 프로그램을 만들고 해당 내용을 복사하는 것이 좋습니다.

레일의 이전 버전에서 가장 새로운 버전으로 마이그레이션하는 것은 분명히 한 번의 도약이 아닙니다. 고려해야 할 여러 가지가 있습니다.

하지만, 내 대답에 대한 가장 좋은 것은 당신이 등 호환 보석을 찾는 테스트의 과정이 ... 와우 레일 3 루비 1.9.2

+0

예, 당신 말이 맞아요. 새로운 프로젝트를 기존 프로젝트의 복제본으로 만드는 것이 낫습니다. 그리고 우리는 몇 가지 코드를 재사용 할 수있을뿐만 아니라 로직을 사용할 수 있습니다. 그렇지 않으면 전체 정크 코드가 실행 중 문제를 일으킬 수 있습니다. – Rubyist

0

을 너무 많이 좋네요, 그렇게 추천 않는다는 것입니다 벽돌업자가 말했듯이, 그것은 상당히 도약입니다! 나는 1 년 전 Rails를 사용했다. 나는 Rails 2로 업그레이드하지 않았다. 나는 다시 썼다.

Rails 1.2.3 응용 프로그램의 크기는 어느 정도입니까?

많은 것들이 변경되었으므로 레일, 너무 많은 보석, 라우팅, 자산 파이프 라인, 명명 된 스코프, ActiveRecord 쿼리 API, 심지어 루비가 변경되었습니다. 업그레이드하는 것은 좋지 않습니다. 많은 새로운 개념과 기능이 있으므로 생각해야 할 것이므로 깨끗한 슬레이트에서 시작하는 것이 훨씬 더 좋습니다.

위장복의 축복이 될 수 있습니다. 이 코드는 Rails 3.1에서 다시 작성하고 다시 작성하여 코드 기반을 향상시킬 수있는 좋은 기회라고 생각합니다.

가장 중요한 기능이 포함 된 Rails 3.1 응용 프로그램을 처음부터 시작하는 것이 좋습니다. 유지 보수 모드에서 1.2.3 응용 프로그램을 유지합니다.

그것은 아마도 좋은 기회가 좀처럼 사용하는 앱 몇 가지 '기능'을 제거 할 수있다 ... 나는 합리적인 한 단계의 과정이 거기에 생각하지 않습니다

+0

예 맞습니다. 나는 또한 같은 것을 생각하고있다. 내 결정을 강하게 해주셔서 감사합니다. – Rubyist

+0

그것은 당신의 상사에게 힘든 판매일지도 몰라. - 말하지 마라. :) - 결국 그는 행복 할 것이다. – Tilo

+0

고맙습니다. 내 보스는 모든 것을 알고 심지어 고객에게도이 조건을 설명했습니다. 클라이언트도이 준비가되어 있습니다. – Rubyist

관련 문제