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]
|
class UpdateTimestamps < ActiveRecord::Migration[4.2]
|
||||||
def up
|
def up
|
||||||
|
# return if it's a new setup
|
||||||
|
return if !Setting.find_by(name: 'system_init_done')
|
||||||
|
|
||||||
# get all models
|
# get all models
|
||||||
Models.all.each_value do |value|
|
Models.all.each_value do |value|
|
||||||
next if !value
|
next if !value
|
||||||
next if !value[:attributes]
|
next if !value[:attributes]
|
||||||
|
|
||||||
if value[:attributes].include?('changed_at')
|
if value[:attributes].include?('updated_at')
|
||||||
ActiveRecord::Migration.change_column value[:table].to_sym, :changed_at, :datetime, null: false
|
ActiveRecord::Migration.change_column value[:table].to_sym, :updated_at, :datetime, limit: 3, null: false
|
||||||
end
|
end
|
||||||
if value[:attributes].include?('created_at')
|
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
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue