Почему при вызове cap deploy затирается старая информация на сервере?
Потому что каждый раз при деплое Capistrano создает новую директорию, в которую загружается свежий релиз вашего приложения. Соответственно, ваши изображения остаются в старой директории. Вам нужно настроить в файле deploy.rb симлинк с папками, в которых будут храниться изображения, сами эти папки обычно хранятся в директории shared выше по дереву относительно директории, содержащей релизы. Надеюсь, понятно объяснил :)
И судя по тому, что информация в БД у вас затирается, вы используете SQLite3 в качестве базы данных. Локум предоставляет для каждого проекта базу данных на PostgreSQL, MySQL или какую-то еще на выбор, рекомендую перебраться в PostgreSQL. Эта БД - де-факто стандарт для приложений на Rails, хотя иной раз выбор зависит от проекта. А SQLite - это только для этапа, когда разработка на Rails только-только постигается. Раньше переберетесь - проще будет в дальнейшем.
Вот пример, как после деплоя создать симлинк с пользовательскими данными в shared директорию//app/config/deploy.rbtask :symlink_shared do
    run "rm -rf  #{current_path}/public/uploads"
    run "ln -nsf #{shared_path}/uploads #{release_path}/public/uploads"
end

after 'deploy:restart', 'symlink_shared'