Report abuse

1
2
3
4
5
6
7
8
9
10
11
current_version = ActiveRecord::Migrator.current_version rescue 0

highest_version = Dir.glob("#{RAILS_ROOT}/db/migrate/*.rb").map { |f|
  f.match(/(\d+)_.*\.rb$/) ? $1.to_i : 0
}.max || 0

unless defined?(Rake) # skip when run from tasks like rake db:migrate
  if current_version != highest_version && !ENV['IGNORE_CHECK']
    abort "Expected migration version #{highest_version}, got #{current_version}"
  end
end