2012-10-07 3 views
0

새로 설치 한 Linux의 github에서 2 개의 응용 프로그램 (다른 Linux 환경에서 작동)을 가져 왔습니다. mysql, nodejs도 설치했다. 나는 레일에 테스트 애플리케이션을 만들었고 작동하도록 테스트했다. 하지만 내가 복제 한 응용 프로그램은 rake db : migrate를 실행하는 중에 오류를 발생시킵니다.Rails, rake db : github에서 응용 프로그램을 복제하는 중 오류가 발생했습니다.

APP1의 오차 :

레이크 DB : ==에 CreateItems 마이그레이션 : 마이그레이션 ========================= ============= - create_table (: items) -> 0.0025s == CreateItems : migrated (0.0027s) ===========================

== AddDataToTableItems : ========================================================================================================================================================================================================= 오류가 발생했습니다,이 모든 나중에 마이그레이션이 취소 :

APP2

레이크 DB에서 #

오류에 대한

정의되지 않은 메서드`제조 업체 : 레이크 중단 마이그레이션! 정의되지 않은 메서드`[] = '무기 호에 대한 : NilClass

애플 리케이션이에서 작업하는대로 (모두 오류가 다르지만, 그들이 관련되어 있어야

(--trace와 태스크를 실행하여 전체 추적을 참조하십시오) 다른 환경). 나는 반나절 동안이 문제로 인해 붙어있다. 같은 것에 관한 모든 입력?

PS : http://dl.dropbox.com/u/18367173/migrate_app2.tar.gz http://dl.dropbox.com/u/18367173/migrate_app1.tar.gz

+0

어딘가에 이전을 게시 할 수 있습니까? – Agis

+0

이전 파일 업로드 : http://dl.dropbox.com/u/18367173/migrate_app1.tar.gz http://dl.dropbox.com/u/18367173/migrate_app2.tar.gz – Himz

답변

0

나는 당신이 뭔가를 추가하려는 생각 다음과 같이 응용 프로그램에 대한 마이그레이션 파일은 해당 테이블 열을 만들기 전에 제조업체 필드에 입력하십시오.

처음에는 모든 실제 마이그레이션이 실행되고 (스키마를 수정하는 경우) db의 데이터를 게시 한 곳에서 실행하십시오.

그런데 마이그레이션을 사용하여 앱에서 샘플 데이터를 게시해서는 안되며이 시드 또는 데이터베이스 시드에 대해 레이크 작업을 사용해야합니다.

+0

감사합니다. 마지막 마이그레이션에서 열 (제조업체)을 추가하고 있습니다. 그러나 제조업 자 분야에서 이전에는 아무런 데이터도 없었다. 그래서 그것은 오류를 던져서는 안됩니다. 예, 샘플 데이터를 시드로 이동할 계획입니다. 씨앗에 데이터를 넣고 확인하겠습니다. – Himz

+0

두 번째 앱에 대한 모든 댓글. 모든 마이그레이션은 독립적입니다 (시드 데이터가 없음)? 도움 주셔서 감사합니다. – Himz

+0

예, Model.create를 db/seed/rb 안에 넣고 rake db : seed로 실행하십시오. 또한 gui 도구 또는 명령 행을 사용하여 items 테이블을 검사하고 그 내용을 확인하십시오. –

관련 문제