2011-08-06 6 views
0

私のアプリケーションでは、:文字列フィールドに説明を含むモデルがあります。私のローカルマシンではすべて正常に動作しますが、herokuはエラーメッセージを表示します。ログを調べたところ、エラーが見つかりました:ROR SQLIiteテキストの長さ

ActiveRecord::StatementInvalid (PGError: ERROR: value too long for type character varying(255)

ローカルマシンでは同じテキストが正確に機能するので面白いです。 :P私は新しい移行を変更する必要があるというWeb上の提案を見つけました:文字列形式:テキスト形式。私はそれがそこに示されたように、そうしてみました:

change_column :your_table_name, :name_of_field, :string, :text 

しかし、エラーエンました:

-- change_column(:users, :about_me, :string, :text) rake aborted! An error has occurred, this and all later migrations canceled:

undefined method `include?' for :text:Symbol

それが動作する理由の質問は、それが長い文字列で動作するようにする方法であり、また、好奇心のためにローカルマシンとヒロクのクラッシュ?事前

さようなら

+1

また、SQLiteでの開発とPostgreSQLでのデプロイをやめてください。すべてのデータベースは少し異なり、ActiveRecordはそれらの違いからあなたを守りません。最終的にはGROUP BYの問題も発生します。 –

答えて

2

おかげで、それは誤りについて、だから、change_column :your_table_name, :name_of_field, :text です。それはPostgreSQLのエラーです。 PGError:(ERROR: value too long for type character varying(255))herokuはPostgreSQLを使用していますが、ローカルマシンでSQLiteを使用しています。

+0

ねえ - 私もこの問題があります。これに対する解決策は何でしょうか? – jay

関連する問題