Introduction
Migrations keep track of changes to the database so Rails knows what has been done and what still needs to be done.
When adding a new table to store user data
When changing a column type in an existing table
When removing a column that is no longer needed
When fixing a mistake in a previous database change
When sharing database changes with other developers