したがって、次のように構成されたcomments
テーブルがあります。
# == Schema Information
#
# Table name: comments
#
# id :integer not null, primary key
# body :string(255)
# notified :boolean
# user_id :integer
# stage_id :integer
# created_at :datetime
# updated_at :datetime
# client_id :integer
# author :string(255)
これは私が得ているエラーメッセージです:
ActiveRecord::StatementInvalid (PGError: ERROR: value too long for type character varying(255)
Rails 3.xとHerokuを使用して、長いテキストをPG列に格納するにはどうすればよいですか?
この問題を修正するには、移行はどのようになりますか?
ありがとう。
文字列の代わりにテキストを使用する必要があります。
移行は、次のようなものになります。
change_column :comments, :body, :text, :limit => nil
私はいつもこのタイプのクエリでこの問題を解決していますALTER TABLE your_table_name ALTER COLUMN your_column_name TYPE text;
文字が変化します長さが制限されているため、この長さを渡すことはできません。
textは制限のない変数です。
したがって、列タイプを文字変化(長さがある)からに変換できます
テキスト(制限はありません)。