В наших рельсах 3.1.4 приложения, чрезмерное количество записей в системном журнале будет удален с помощью метода в sys_log модели:ActiveRecord :: StatementInvalid вызванные delete_all
def self.trim_log(num_entry)
if SysLog.count > num_entry
SysLog.where("log_date < #{SysLog.all[num_entry -1].log_date}").delete_all
end
end
Здесь num_entry есть запись в журнале мы хотим сохранить. Любая запись перед этой записью будет удалена. Однако delete_all вызывает следующую ошибку в rspec:
←[31mFailure/Error:←[0m ←[31mSysLog.trim_log(1)←[0m
←[31mActiveRecord::StatementInvalid:←[0m
←[31mSQLite3::SQLException: near "03": syntax error: DELETE FROM "sys_logs" WHERE (log_date < 2012-06-10 03:43:21 UTC)←[0m
Ошибка в консоли rails. База данных sqlite3 в нашей разработке. log_date - это дата-время. Что не так с нашим кодом? Спасибо.
работает отлично. Спасибо. – user938363