What is a database migration?

What do steps 3 and 5 mean?

How do you convert the existing data to the new format?

When I need to do a big change that includes modifying some columns of a table:

  1. I create a new table with the new structure
  2. I create a script that copies and converts the data from the old format on the old table to the new format on the new table
  3. I work on the app and test it. While I test it I keep running the conversion script until the development app works with the new tables. When it works…
  4. (In the night when no one is using the app) I run the conversion script for the last time
  5. I merge to the production branch
  6. I delete the old table

How do you do something similar while working with two databases?

Is it possible for an app to copy and convert from a table in a database to a table in another database?