いくつかの月次統計を記録する 2 つのモデルがあり、次を使用してモデル内で複合キー制約を適用しようとしています。
validates_uniqueness_of :entity_id, :scope => [:year, :month]
レコードに対してメソッドを実行しようとすると、.valid?
ActiveRecord が不適切な SQL を生成しているように見えるため、継続的にエラーが発生します。
SQLite3::SQLException: near "FROM": syntax error: SELECT FROM "table" WHERE ("table"."entity_id" = 1) AND ("table"."year" = 2007) AND ("table"."month" = 6) LIMIT 1
上記の Rails は select ステートメントに * を追加していないため、SQLite は正しくエラーをスローすることに注意してください。
ここで何か間違ったことをした場合のアイデアはありますか?