Better way to migrate to server?

I personally use BackupBuddy (a paid solution, from iThemes.com).

For your scenario, you could install it on your local dev machine, and perform the following one-time actions:

  1. Add a one-time configuration for your server as a “Remote Destination” (including FTP/sFTP credentials and target directory).
  2. Copy an ‘importbuddy.php’ script to your remote server.

Then, whenever you want to migrate a new snapshot from your local machine to your remote server, you can with one click create a backup zipfile (either “Database Only”, or “Full” which also includes all files) and have it sent to your server.

On the server side, all you’d have to do is:

  • Browse to the ‘importbuddy.php’ script and use its friendly wizard interface, making sure to choose “Delete database tables” in the “Advanced Options.” (The script automatically and properly handles search/replace, for serialized data as well.)
  • Alternatively, if your local and remote environments are sufficiently “identical,” and you have BackupBuddy installed on the remote server as well, you should be able to simply perform a one-click “Database Rollback” within BackupBuddy — an operation that is usually used for backups made on that very same server.

For a non-paid alternative, I’ve heard good things about the “WP Migrate DB” plugin, although I have not used this myself.