Нужны ли файлы добавления/удаления столбцов после миграции (Rails)?
Нужны для того, чтобы поднять проект другому разработчику или вам же на другой машине, например для staging сервера с тестовыми данными. 
Структура БД храниться вместе с кодом.
Миграции не зависят от типа БД, на продакшене к примеру PosgreSQL - локально SQLite.
Таскать по машинам объемную базу в виде бэкапов может быть очень накладно (тем более если это совершенно разные бд, как в моем примере выше). 
Кроме того задача миграций - иметь быстрый способ откатить изменения в БД на несколько шагов назад/вперед, до определенной стадии разработки. 
В том числе до определенной версии - rake db:rollback VERSION=X
Это основная часть доводов, почитайте оф. документацию по миграциям и best practices.
Есть и обходной путь со схемой БД, вы можете поднять базу из одной единственной миграции, предварительно ее создав.
Можно вам ещё вопрос, чтобы не создавать отдельную тему: при деплое на хероку залил все файлы миграции, попытался сделать heroku run rake db:migrate. Происходит ошибка - колонка ХХХ уже присутствует в таблице УУУ. Мне пришлось удалить часть файлов миграции на которые ругался хероку. Но некоторые пришлось оставить - без них приложение на работало, т.к. НЕ БЫЛО соответствующих колонок в таблице, но в development среде все было нормально. Так вот вопрос - почему некоторые колонки были, а некоторых не было? И можно ли было как-то обойтись без удаления файлов миграции?