title: What's the difference between db:test:clone, db:test:clone_structure, db:test:load, and db:test:prepare?
body: <p>You'll have to admit, to a newbie to rails and databases, the official explanation on rubyonrails.org makes all four of these tasks sound exactly the same. Quote:</p>
  
  <pre><code>rake db:test:clone  Recreate the test database from
                      the current environment’s database schema
  
  rake db:test:clone_structure    Recreate the test database from the
                                  development structure
  
  rake db:test:load   Recreate the test database from the current schema.rb
  
  rake db:test:prepare    Check for pending migrations and load the test schema
  </code></pre>
  
  <p>I don't even know the difference between structure and schema. And what's  the difference between loading the current environment's schema and just loading schema.rb?</p>
  
  <p>Just how similar (or different) are these tasks?</p>