Blogmark
Built-in Rails Database Rake Tasks
via jbranchaud@gmail.com
      
    
    https://github.com/rails/rails/blob/1dd82aba340e8a86799bd97fe5ff2644c6972f9f/activerecord/lib/active_record/railties/databases.rake
  
      
        
  
      
        Ruby on Rails
      
      
        Database Migrations
      
  
 
      It's cool to read through the internals of different rake tasks that are available for interacting with a Rails database and database migrations.
For instance, you can see how db:migrate works:
  desc "Migrate the database (options: VERSION=x, VERBOSE=false, SCOPE=blog)."
  task migrate: :load_config do
    ActiveRecord::Tasks::DatabaseTasks.migrate_all
    db_namespace["_dump"].invoke
  end
First, it attempts to run all your migrations. Then it invokes _dump which is an internal task for re-generating your schema.rb (or structure.sql) based on the latest DB schema changes.