「賞品」というコラムがありました。
create_table :contests do |t|
t.text :prize
最近、これが常に整数であることに気付き、デフォルト値を設定したいと考えました。
def change
change_column :contests, :prize, :integer, :default => 200
これは、MySQL DB を使用しているローカル マシンで正常に動作します。ただし、実稼働サイト (Heroku でホストされているため、Postgres DB が提供されます) にプッシュすると、次のエラーが発生します。
PGError: ERROR: column "prize" cannot be cast to type "pg_catalog.int4"
: ALTER TABLE "contests" ALTER COLUMN "prize" TYPE integer
この記事: http://www.postgresonline.com/periodical.php?i_id=3では、この問題を解決するための USING の使用について説明しています。しかし、どうすればそれができるのか、これが私がやろうとしていることに適しているかどうかはわかりません.
これを理解するための洞察は非常に高く評価されます。
ありがとう!りんご