Первоначально для координатного поля в моей модели использовалось целое число, но когда я попытался развернуть его в Heroku, мне напомнили (в результате сбоя), что мне нужно, чтобы оно было плавающим (поскольку в моей координате были десятичные точки),Поэтому я сгенерировал миграцию change_column на своем локальном компьютере, чтобы вместо них change_column они были плавающими.и все прошло нормально.
Я попытался снова развернуть на heroku, сначала с heroku pg:reset
, а затем с heroku db:setup
.Во время установки db: я получаю следующую ошибку:
PGError: ERROR: precision for type float must be less than 54 bits
: CREATE TABLE "landmarks" ("id" serial primary key, "name" character varying(255), "xcoord" float(255), "ycoord" float(255), "created_at" timestamp, "updated_at" timestamp)
Таким образом, я сгенерировал еще одну миграцию change_column, на этот раз также с опцией: precision (установите на :precision => 50
, чтоменьше 54).Я снова прошел весь процесс развертывания, и он выдал мне ту же ошибку.
Я что-то не так делаю?Я развернул другое приложение в Heroku, прежде чем оно использовало float без каких-либо изменений ...
Я использую SQLite на своей локальной машине, и я думаю, что Heroku использует Postgres?
Заранее спасибо!
[РЕДАКТИРОВАТЬ: я должен также упомянуть, что в выходном SQL ошибка, отображаемая после того, как я изменил значение :precision
для моих координат, все еще говорит 'float (255)' ... не знаю почему]