GIT: ¿Por qué cada vez que paso a la producción, la database se limpia?

Cada vez que ejecuto el git push luego de modificar algunos códigos e intentar mostrar la aplicación, no such table aparece el siguiente error de no such table .

stdout.log (entorno de producción)

 Started GET "/" for 111.222.333.444 at 2014-11-13 22:07:36 +0900 Processing by ArticlesController#index as HTML SQLite3::SQLException: no such table: articles: SELECT "articles".* FROM "articles" ORDER BY created_at DESC LIMIT 10 Completed 500 Internal Server Error in 16ms ActiveRecord::StatementInvalid (SQLite3::SQLException: no such table: articles: SELECT "articles".* FROM "articles" ORDER BY created_at DESC LIMIT 10): app/controllers/articles_controller.rb:7:in `index' 

El procedimiento que hice se describe a continuación.

 rake aseets:precompile git add . git commit -m "xxx" git checkout master git merge xxx #branch name git push origin master 

Ejecuto los siguientes commands en un service de alojamiento (no heroku) porque se mostró el post de error mencionado anteriormente.

 rake db:migrate rake db:seed 

¿Significa que todos los datos almacenados se limpiaron cada vez que ejecuto git push ?
Por favor, avísenme sobre cómo save los datos si ejecuto git push.

Al igual que la mayoría de los proveedores de PaaS, Heroku no proporciona un sistema de files persistente . Cada vez que implemente, se perderán todos los files que haya almacenado localmente.

La recomendación general para el almacenamiento de files en Heroku es usar algo como Amazon S3 , que te permitirá almacenar files en implementaciones. Pero si puede alejarse de SQLite, debería considerar simplemente migrar a PostgreSQL, que es originalmente compatible con Heroku , u otra database mediante el uso de uno de los complementos de almacenamiento de datos admitidos .