You don't need to drop all your tables in prod. Instead, create the big migration file you described, but then manually record it as applied in prod.
After all, the point of a migration is to apply changes to the DB. In your case that's only needed outside of your production environment.
Manually recording the migration is as simple as inserting the migration timestamp into the schema_migrations
table:
mysql> select * from schema_migrations;
+----------------+
| version |
+----------------+
| 20120504193548 |
| 20120508160150 |
| 20120518135330 |
| 20120523163509 |
...
So just execute the appropriate INSERT
and rails will ignore the migration.
PS - In the future, use source control so you can just simply restore the file from a prior version!