Перенос Heroku: модификатор типа не разрешен для типа "bytea" - PullRequest
8 голосов
/ 12 февраля 2011

Я выполняю некоторые миграции на Heroku, и я получаю эту проблему. У меня есть эта строка в одной из моих миграций для создания новой таблицы:

t.binary :file, :limit => 10.megabytes

Heroku выдает мне эту ошибку PostgreSQL:

An error has occurred, this and all later migrations canceled:

PGError: ERROR:  type modifier is not allowed for type "bytea"
LINE 1: ..."file" bytea(10485760)...
                                                         ^
: CREATE TABLE "files" ("id" serial primary key, "file" bytea(10485760), "created_at" timestamp, "updated_at" timestamp) 

Как я могу изменить свою миграцию, чтобы она хорошо работала как с MySQL, так и с Postgre?

1 Ответ

16 голосов
/ 12 февраля 2011

Из документов Heroku:

Ограничение двоичного поля

Причина: PostgreSQL не ограничивает двоичные поля.Любые миграции, добавляющие двоичное поле: с параметром: limit, вызовут синтаксическую ошибку.

Решение: пропустите: limit для двоичных полей, если это возможно, или протестируйте БД перед его запуском.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...