【Ruby on Rails5】 heroku で PostgreSQL のエラーが発生(UndefinedFunction: ERROR: operator does not exist)
現在、localの開発環境のDBにはsqlite
本番環境のDBはpostgreSQLを採用しています。
localだと問題なく動いていたものを本番にdeployして動作確認を行ってみたところ
以下の500エラーが発生
UndefinedFunction: ERROR: operator does not exist: bigint = character varying
idをintegerで定義していましたが、postgreSQL側でStringで認識されていたことが原因のよう。
型を変更するmigrationファイルを作成して本番で定義変更を行ったところ解決
以下がmigrationファイル
class ChangeDatatypeFollowedIdOfRelationships < ActiveRecord::Migration def self.up change_column :table_name, :column_name, :'integer USING CAST(column_name AS integer)' end def self.down change_column :table_name, :column_name, :string end end
プロフェッショナルのための 実践Heroku入門 プラットフォーム・クラウドを活用したアプリケーション開発と運用 (書籍) |