文字列フィールドとテキストフィールドに関連する2つのSO質問を見つけた後、リンクフィールドがすでにテキストであることがわかりました。
create_table "answers", :force => true do |t|
t.string "text"
t.text "link"
Postgresが次のエラーをスローするのはなぜですか?
ActiveRecord::StatementInvalid: PG::Error: ERROR: value too long for type character varying(255)
移行を試みましたchange_column :answers, :link, :text, :limit => nil
が、何も起こらないと思います。
編集:したがって、問題は、スキーマがフィールドがテキストであると言っているが、実際には文字列であるということです。
Answer.new.column_for_attribute('link').type
=> :string
それを修正するための最良の方法は何ですか?スキーマからデータベースを再構築することによって?文字列に変更してからテキストに戻すことで?
Rails 3.2.2、Postgres 9、Heroku。