Rails - Как добавить BLOB-столбец с помощью ActiveRecord? - PullRequest
7 голосов
/ 05 сентября 2011

Мне нужно создать столбец BLOB для хранения некоторого текстового содержимого.

Я где-то прочитал, что мне нужно сделать следующее:

class AddVersionCommentToMetaData < ActiveRecord::Migration
  def self.up
    add_column :meta_data, :version_comment, :binary, :limit => 10.megabyte
  end

  def self.down
    remove_column :meta_data, :version_comment
  end
end

Однако выдается следующая ошибкасообщение:

PGError: ERROR: модификатор типа недопустим для типа "bytea" LINE 1: ... "meta_data" ADD COLUMN "version_comment_extended" bytea (1048 ... ^: ALTER TABLE "meta_data "ADD COLUMN" version_comment_extended "bytea (10485760)

Есть идеи?

Обратите внимание, что я использую PostgreSQL. Спасибо!

1 Ответ

11 голосов
/ 06 сентября 2011

Миграция кажется правильной, кроме нижней части.Это должно быть:

class AddVersionCommentToMetaData < ActiveRecord::Migration
  def self.up
    add_column :meta_data, :version_comment, :binary, :limit => 10.megabyte
  end

  def self.down
    remove_column :meta_data, :version_comment
  end
end

двойная проверка на опечатки.А какую версию рельсов вы используете?Хорошо работает в рельсах 3.0.7.

...