Когда я запускаю $ heroku db: push, я получаю следующую ошибку:
Saving session to push_201110231302.dat..
!!! Caught Server Exception
HTTP CODE: 500
Taps Server Error: PGError: ERROR: value too long for type character varying(255)
Обсуждение здесь предполагает, что это потому, что одна из моих моделей имеет строковый атрибут, которыйдлиннее 255 символов.
Кажется, я обнаружил проблему в атрибуте "descrip" моей модели "Course".
Я попытался исправить это, изменив тип описания с строки на текст.Я сделал это, сгенерировав и запустив миграцию типа «remove_descrip_from_Course descrip: string», а затем сгенерировав / запустив «add_descrip_to_Course descrip: text».Но это не сработало - дескриптор по-прежнему отображается в виде строки.
Кто-нибудь знает, является ли (1) замена дескриптора со строки на текст лучшим (единственным?) Способом решения проблемы heroku,и (2) что я могу сделать, чтобы изменить описание с строки на текст?
Спасибо!
РЕДАКТИРОВАНИЕ:
Вот соответствующая часть моего файла schema.rb (описаниевнизу):
create_table "courses", :force => true do |t|
t.string "name"
t.string "number"
t.string "instructor"
t.string "room"
t.string "day"
t.string "units"
t.string "time"
t.datetime "created_at"
t.datetime "updated_at"
t.string "limitations"
t.string "address"
t.string "end_time"
t.string "start_time"
t.string "crn"
t.string "term_code"
t.text "evals"
t.boolean "paper_required"
t.string "exam_type"
t.string "paper_type"
t.string "past_instructors"
t.string "past_semesters"
t.string "tod"
t.boolean "in_cart", :default => false
t.integer "day_num"
t.integer "time_num"
t.string "units_alt"
t.text "descrip"
end
А вот миграция add_descrip_to_course:
class AddDescripToCourse < ActiveRecord::Migration
def self.up
add_column :courses, :descrip, :text
end
def self.down
remove_column :courses, :descrip
end
end
Но вот что происходит в моей консоли rails:
ruby-1.9.2-p290 :008 > a = Course.new
=> #<Course id: nil, name: nil, number: nil, instructor: nil, room: nil, day: nil, units: nil, time: nil, created_at: nil, updated_at: nil, limitations: nil, address: nil, end_time: nil, start_time: nil, crn: nil, term_code: nil, evals: nil, paper_required: nil, exam_type: nil, paper_type: nil, past_instructors: nil, past_semesters: nil, tod: nil, in_cart: false, day_num: nil, time_num: nil, units_alt: nil, descrip: nil>
ruby-1.9.2-p290 :009 > a.descrip = "test"
=> "test"
ruby-1.9.2-p290 :010 > a.descrip.class
=> String