2012-04-18 1 views
0

내가 내가 Heroku가 실행 레이크 DB를 수행 할 때에게 Heroku는 페이지 오류 유형 수정은 "텍스트"허용되지 않는 말, 레일을 사용하여

PGError: ERROR: type modifier is not allowed for type "text" 
LINE 1: ...ng(255), "desc" character varying(255), "content" text(255),... 

오류를 얻을 무제한 유형의 '텍스트'및 내 최신 마이 그 레이션 파일에 내가 가지고 ...

class ChangeLessonsTable < ActiveRecord::Migration 
    def change 
     change_table :lessons do |t| 
      t.change  :content, :text, :limit => nil 
     end 
    end 
end 

나는 여전히 오류가 계속 받고있어. 왜 어떤 아이디어? rake db : reset, rake db : migrate, git push를 사용하여 로컬 db가 변경되었는지 확인합니다. 그럼 내가 똥 heroku 밀어와 heroku 실행 rake db : reset을 실행했지만 그 오류가 계속. 내가 놓친 게 있니? 감사

답변

4

당신은 완전히 :limit을 떠날 수 있어야한다 :

을 그 다음 작동하지 않습니다 당신이 시도까지 분리 작업을 아래로 수 있다면 : AS를

def up 
    change_column :lessons, :content, :text 
end 
def down 
    change_column :lessons, :content, :string 
end 

를 제외하고, PostgreSQL을 목표로한다면, 을 사용하고 :string (AKA varchar) 열 유형을 잊어 버려도 PostgreSQL은 내부적으로 모두 동일하게 취급합니다. varchar/:string으로 귀찮게해야하는 유일한 시간은 데이터 무결성이 문자열 크기에 특정한 상한을 요구할 때입니다.

+0

감사합니다. 나는 후자를하는 것을 끝내었다. 내 heroku db : reset이 작동하지 않았거나 heroku db : migration을 수행하지 못했습니다. 나는 ....해야만했다. db : 마이그레이션을 로컬 db에서 수행 한 다음 heroku db : push를 수행해야한다. – Sasha

관련 문제