Я не могу удалить старые записи из своего приложения на heroku.Удалите старые записи на Heroku (Rails 3.1) с помощью команды rake
В настоящее время планировщик Heroku работает:
class Post < ActiveRecord::Base
def self.get_data
# this populates my app but the database is starting to get large and I don't need the old records
scr = Scrape.new
data_array = scr.scrape
store_data(data_array)
# destroy_old_data
end
, но я хотел бы, чтобы раскомментировать "destory_old_data" вызов.
def destroy_old_data
# oldest = Post.where("updated_at > ?", 30.days.ago)
# Post.delete_all("updated_at > ?", 30.days.ago)
# Post.destroy_all("updated_at > ?", 30.days.ago)
oldest = Post.find(:all, "updated_at > ?", 30.days.ago)
oldest.destroy
end
Как вы можете видеть, я попробовал несколько вещей, которые, кажется, работают локально в консоли, но я не могу заставить их работать на Heroku.
Ошибки я получаю, как:
ArgumentError: wrong number of arguments (2 for 1)
or
when using Post.find
NoMethodError: undefined method `destroy' for #<Array:0x00000004579898>
Что это самый простой вызов, я могу сделать, чтобы найти и удалить все эти старые записи успешно?
Любая помощь будет оценена по достоинству.
Вы получаете эту ошибку на 'старейшей = Post.find (: все,«updated_at»...)'? – berkes
Нет, для этого я получаю: NoMethodError: undefined метод 'destroy 'для # –
AdamT
« oldest »- это массив записей. Вам нужно будет перебирать их, чтобы уничтожить каждого, не так ли? – jstim