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

View file

@ -25,7 +25,7 @@
] Delete screenshot ] Delete screenshot
p Uploader IP=#{screenshot.uploaderip} p Uploader IP=#{screenshot.uploaderip}
p Uploaded #{screenshot.age_days} (#{screenshot.uploaddatetime}) p Uploaded #{screenshot.age_days} (#{screenshot.created_at})
p Status: #{screenshot.status} p Status: #{screenshot.status}
- else - 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. # 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 # These are extensions that must be enabled in order to support this database
enable_extension "plpgsql" enable_extension "plpgsql"
@ -45,14 +45,13 @@ ActiveRecord::Schema.define(version: 20160302135740) do
create_table "screenshots", force: :cascade do |t| create_table "screenshots", force: :cascade do |t|
t.integer "package_id" t.integer "package_id"
t.string "version", limit: 50 t.string "version", limit: 50
t.datetime "uploaddatetime" t.datetime "created_at"
t.string "uploaderhash", limit: 72 t.string "uploaderhash", limit: 72
t.string "uploaderip", limit: 15 t.string "uploaderip", limit: 15
t.boolean "approved" t.boolean "approved"
t.boolean "markedfordelete" t.boolean "markedfordelete"
t.string "delete_reason", limit: 100 t.string "delete_reason", limit: 100
t.string "description", limit: 40 t.string "description", limit: 40
t.datetime "created_at"
t.datetime "updated_at" t.datetime "updated_at"
t.string "image_file_name" t.string "image_file_name"
t.string "image_content_type" t.string "image_content_type"

View file

@ -17,7 +17,7 @@ namespace :debshots do
loop do loop do
destroyed = 0 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. # Look again for screenshots of this fingerprint.
# This extra step may seem stupid but the above query lead to package_id=NULL results sometimes. # 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) del = Screenshot.find_by(image_fingerprint: ss.image_fingerprint)

View file

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