Подтвердить что ты не робот

Ограничение строки PostgreSQL (255) - Rails, Ruby и Heroku

Итак, у меня есть таблица 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)

Как хранить длинный текст в столбце PG с помощью Rails 3.x и Heroku?

Как бы выглядела миграция, чтобы исправить эту проблему?

Спасибо.

4b9b3361

Ответ 1

Вам нужно будет использовать текст вместо строки.

Миграция будет чем-то вроде:

change_column :comments, :body, :text, :limit => nil

Ответ 2

Все время я решаю эту проблему с помощью этого типа запроса
ALTER TABLE your_table_name ALTER COLUMN your_column_name TYPE text;


Знак имеет ограниченную длину, и вы не можете передать эту длину.
текст - это переменная, которая не имеет ограничений.
Таким образом, вы можете преобразовать свой тип столбца из символа, меняющегося (который имеет длину), в текст текста (который не имеет ограничений).