X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/0d5be22cb517ebaaab5eb7af13150bf61e41df56..73170726e2e1c6f5dcbb649f82c4a845b9d6e980:/db/migrate/025_add_end_time_to_changesets.rb?ds=sidebyside diff --git a/db/migrate/025_add_end_time_to_changesets.rb b/db/migrate/025_add_end_time_to_changesets.rb index 20d66719d..c25701088 100644 --- a/db/migrate/025_add_end_time_to_changesets.rb +++ b/db/migrate/025_add_end_time_to_changesets.rb @@ -1,25 +1,23 @@ -require 'lib/migrate' - -class AddEndTimeToChangesets < ActiveRecord::Migration +class AddEndTimeToChangesets < ActiveRecord::Migration[4.2] def self.up # swap the boolean closed-or-not for a time when the changeset will # close or has closed. add_column(:changesets, :closed_at, :datetime, :null => false) - + # it appears that execute will only accept string arguments, so # this is an ugly, ugly hack to get some sort of mysql/postgres # independence. now i have to go wash my brain with bleach. - execute("update changesets set closed_at=(now()-#{interval_constant('1 hour')}) where open=(1=0)") - execute("update changesets set closed_at=(now()+#{interval_constant('1 hour')}) where open=(1=1)") + execute("update changesets set closed_at=(now()-'1 hour'::interval) where open=(1=0)") + execute("update changesets set closed_at=(now()+'1 hour'::interval) where open=(1=1)") - # remove the open column as it is unnecessary now and denormalises + # remove the open column as it is unnecessary now and denormalises # the table. remove_column :changesets, :open # add a column to keep track of the number of changes in a changeset. # could probably work out how many changes there are here, but i'm not # sure its actually important. - add_column(:changesets, :num_changes, :integer, + add_column(:changesets, :num_changes, :integer, :null => false, :default => 0) end