Fixed bug:

- Migration gets executed unnecessarily on newly installed systems.
- Migration looks for `changed_at` column which should be `updated_at` instead.
- Migration removes `limit: 3` on `created_at` timestamp colums (MySQL millisecond support).
This commit is contained in:
Thorsten Eckel 2019-05-20 11:37:34 +02:00
parent 9775af5e98
commit d44b5afd19

View file

@ -1,15 +1,18 @@
class UpdateTimestamps < ActiveRecord::Migration[4.2]
def up
# return if it's a new setup
return if !Setting.find_by(name: 'system_init_done')
# get all models
Models.all.each_value do |value|
next if !value
next if !value[:attributes]
if value[:attributes].include?('changed_at')
ActiveRecord::Migration.change_column value[:table].to_sym, :changed_at, :datetime, null: false
if value[:attributes].include?('updated_at')
ActiveRecord::Migration.change_column value[:table].to_sym, :updated_at, :datetime, limit: 3, null: false
end
if value[:attributes].include?('created_at')
ActiveRecord::Migration.change_column value[:table].to_sym, :created_at, :datetime, null: false
ActiveRecord::Migration.change_column value[:table].to_sym, :created_at, :datetime, limit: 3, null: false
end
end
end