- db:migrate runs (single) migrations that have not run yet.
- db:create creates the database
- db:drop deletes the database
-
db:schema:load creates tables and columns within the (existing) database following schema.rb
-
db:setup does db:create, db:schema:load, db:seed
- db:reset does db:drop, db:setup
Typically, you would use db:migrate after having made changes to the schema via new migration files (this makes sense only if there is already data in the database). db:schema:load is used when you setup a new instance of your app.