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:
parent
9775af5e98
commit
d44b5afd19
1 changed files with 6 additions and 3 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue