Ruby on Rails 3.2.2 を使用しています。データベース テーブル列の存在と、特定のモデル クラスの列のデータ型(例: String
、Integer
、...)を確認したいと考えています。つまりlib
、モデル クラス (例: ) が渡されるメソッドを使用して、ディレクトリ内に Ruby モジュールを実装してArticle
おり、関連する特定のデータベース テーブル列のいくつかの条件のみを確認したいと考えています。
モジュールメソッドでcolumn_exists? を使用しようとしましたか? 以下のような方法
module MyModule
def check_column(model_class)
table = model_class.to_s.tableize
unless ActiveRecord::Base.connection.column_exists?(table.to_sym, :title)
raise ...
end
end
end
しかし、成功しませんでした: column_existsに関連する (奇妙な) 出力エラー? メソッドはこのようなものです
Mysql2::Error: Table '<MY_APP_NAME>_development.<A_TABLE_NAME>/<ANOTHER_TABLE_NAME>/<ANOTHER_TABLE_NAME>' doesn't exist: SHOW FULL FIELDS FROM `<A_TABLE_NAME>/<ANOTHER_TABLE_NAME>/<ANOTHER_TABLE_NAME>`
実行時にデータベース テーブルの列の存在とデータ型を適切にチェックするにはどうすればよいですか?