Using created_at instead of legacy 'uploaddatetime' field

This commit is contained in:
Christoph Haas 2016-03-04 15:41:50 +01:00
parent 48ca75cb64
commit 3eeb9a63dc
6 changed files with 22 additions and 13 deletions

View file

@ -2,7 +2,7 @@ class Screenshot < ActiveRecord::Base
belongs_to :package, :inverse_of=>:screenshots
default_scope {
order('uploaddatetime DESC')
order('created_at DESC')
}
has_attached_file :image,
@ -29,7 +29,11 @@ class Screenshot < ActiveRecord::Base
# Calculate how many days ago this screenshot has been uploaded
def age_days
seconds = Time.now-self.uploaddatetime
if self.created_at
seconds = Time.now - self.created_at
else
seconds = 0
end
days = (seconds/86400).to_i
days ? "#{days} days ago" : 'today'
end

View file

@ -25,7 +25,7 @@
] Delete screenshot
p Uploader IP=#{screenshot.uploaderip}
p Uploaded #{screenshot.age_days} (#{screenshot.uploaddatetime})
p Uploaded #{screenshot.age_days} (#{screenshot.created_at})
p Status: #{screenshot.status}
- else

View file

@ -0,0 +1,6 @@
class RenameUploaddatetime < ActiveRecord::Migration
def change
remove_column :screenshots, :created_at
rename_column :screenshots, :uploaddatetime, :created_at
end
end

View file

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20160302135740) do
ActiveRecord::Schema.define(version: 20160304140037) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -45,14 +45,13 @@ ActiveRecord::Schema.define(version: 20160302135740) do
create_table "screenshots", force: :cascade do |t|
t.integer "package_id"
t.string "version", limit: 50
t.datetime "uploaddatetime"
t.datetime "created_at"
t.string "uploaderhash", limit: 72
t.string "uploaderip", limit: 15
t.boolean "approved"
t.boolean "markedfordelete"
t.string "delete_reason", limit: 100
t.string "description", limit: 40
t.datetime "created_at"
t.datetime "updated_at"
t.string "image_file_name"
t.string "image_content_type"

View file

@ -17,7 +17,7 @@ namespace :debshots do
loop do
destroyed = 0
Screenshot.select(:package_id, :image_fingerprint).group(:package_id, :image_fingerprint, :uploaddatetime).having("count(*) > 1").each do |ss|
Screenshot.select(:package_id, :image_fingerprint).group(:package_id, :image_fingerprint, :created_at).having("count(*) > 1").each do |ss|
# Look again for screenshots of this fingerprint.
# This extra step may seem stupid but the above query lead to package_id=NULL results sometimes.
del = Screenshot.find_by(image_fingerprint: ss.image_fingerprint)

View file

@ -2,20 +2,20 @@
# one:
# version: MyString
# uploaddatetime: 2013-07-27 13:29:55
# created_at: 2013-07-27 13:29:55
# uploaderhash: MyString
# uploaderip: MyString
# approved:
# markedfordelete:
# approved:
# markedfordelete:
# delete_reason: MyString
# description: MyString
# two:
# version: MyString
# uploaddatetime: 2013-07-27 13:29:55
# created_at: 2013-07-27 13:29:55
# uploaderhash: MyString
# uploaderip: MyString
# approved:
# markedfordelete:
# approved:
# markedfordelete:
# delete_reason: MyString
# description: MyString