元々、私のモデルの座標フィールドは整数を使用していましたが、Heroku にデプロイしようとしたとき、(座標に小数点があったため) 代わりに浮動小数点数にする必要があることを (クラッシュによって) 思い出しました。そこで、ローカル マシンで change_column 移行を生成し、change_column をフロートに変更しました。そしてすべてがうまくいきました。
heroku pg:reset
最初に a を使用して、次に を使用して、heroku に再度デプロイしようとしましたheroku db:setup
。db:setup 中に、次のエラーが表示されます。
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 未満の に設定)。展開プロセス全体をもう一度やり直しましたが、同じエラーが発生しました。
私は何か間違ったことをしていますか?float を変更せずに使用する前に、別のアプリを Heroku にデプロイしました...
ローカル マシンで SQLite を使用していますが、Heroku は Postgres を使用していると思いますか?
前もって感謝します!
[編集: 座標の値を変更した後に表示される出力 SQL のエラーは:precision
、まだ 'float(255)' と表示されていることにも言及する必要があります...理由はわかりません]