私は自分の移行でこの種のことをしていました:
add_column :statuses, :hold_reason, :string rescue puts "column already added"
しかし、これはSQLiteでは機能しますが、PostgreSQLでは機能しないことがわかりました。add_columnが爆発した場合、例外がキャッチされてもトランザクションは停止しているため、Migrationは追加の作業を実行できないようです。
列またはテーブルがすでに存在するかどうかを確認するためのDB以外の特定の方法はありますか?それができない場合、レスキューブロックを実際に機能させる方法はありますか?