I know this is probably dumb question but...
Simply put, I have an app with a database of hundreds of records in development mode. When I push to production and deploy onto the internet, will I lose my database and have to redo it all in production mode?
Just being safe!
Your production database is not pushed. An empty database with your schemas will be created when you run rake exec db:migrate on your production server.
If you want to automate adding your development database records to your production database, there is a gem called yaml_db. It is easy to use and works on MySQL and PostgreSQl. https://github.com/yamldb/yaml_db.
In gemfile:
Then, in your console
Take a look at the spec for all details.
EDITED: Addition
Sort of, you won't lose the data itself, that's stored in a database you configured for the development environment, but your production environment likely will have configured another database, which will be empty.
You could copy the database from the development environment and configure rails to use that in production. Depends a bit on what kind of database you use: mysql, sqlite, etc.