2012-03-13 3 views
0

기존 테이블에 정수 열을 추가하는 것과 관련하여 Heroku에 문제가 있습니다.Heroku DB 푸시 오류/탭 제공

class AddFieldsToNetwork < ActiveRecord::Migration 
    def self.up 
    add_column :networks, :phone, :integer, :limit => 10 
    add_column :networks, :contact, :string 
    end 

def self.down 
    remove_column :networks, :phone 
    remove_column :networks, :contact 
    end 
end 

지금이 로컬로 작동하지만, 내가 Heroku가를 누를 때, 나는 대부분의 사람들이 무엇을 얻을 수 : 여기

내가 설정 내 마이그레이션 파일이 어떻게

!!! Caught Server Exception 
HTTP CODE: 500 
Taps Server Error: PGError: ERROR: integer out of range 

내가 :integer를 변경하는 경우 :string으로 변경 한 다음 열을 추가하면 Heroku에서 잘 작동합니다. :integer 아래에두면 새로운 "네트워크"를 만들 때 :network 모델이 충돌합니다.

내가 뭘 잘못하고 있다고 말할 수 있습니까?

+0

끔찍한 서식 지정으로 인해 – RubyNewbie

+0

로컬로 사용하는 Ruby 버전은 무엇입니까? 1.9.3을 로컬로 사용하고 있지만 1.9.2를 사용하는 서버로 밀어 넣는 경우 (Heroku는 1.9.2를 사용함) 비슷한 오류를 유발하는 탭 문제가 있습니다. – mipadi

+0

현재 루비를 사용 중입니다. 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0] – RubyNewbie

답변

1

: limit - 최대 열 길이를 요청합니다. string : 및 binary : 및 integer 열에 대한 text 열 및 바이트 수에 대한 문자 수입니다.

전화의 경우 확실히 문자열을 사용합니다. 이유는 10자를 의미합니다. 숫자가 아닌 바이트

+0

감사합니다. Alisher. 죄송합니다 다른 초보자 질문에 대한 .... 다음에 관해서는 : 전화, 만약 내가 사용자가 알파 문자를 작성하고 싶지 않다면, 그냥 컨트롤러에서 규칙을 만드시겠습니까? – RubyNewbie

+0

컨트롤러가 아닌 모델에 유효성 검사를 추가해야합니다. 맞춤 검증을 작성하기 전에 rubygems.org에서 유효성 검사 젬을 검색하십시오. – Tabrez