Файл schema.rb содержит определение базы данных. Он не несет ответственности за миграцию.
Миграции содержатся в папке db/migrations
. Когда вы развертываете новый выпуск и просите Capistrano перенести текущую базу данных, Capistrano вызывает rake db:migrate
. Задача переноса не зависит от schema.rb
. Он подключается к базе данных, считывает список выполненных миграций из таблицы schema
и выполняет все файлы в db/migrations
, для которых в этой таблице нет записи.
Файл schema.rb
используется только при вызове rake db:schema:load
или при загрузке Rails. В последнем случае Rails будет использовать схему для предотвращения проверки структуры базы данных каждый раз, когда вы обращаетесь к модели.
Тем не менее, файл schema.rb
должен быть версионным в вашем SCM, и вы должны включить его во время развертывания. Вам не нужно делать ничего особенного. Capistrano извлекает файл из вашего SCM, как и все остальные файлы, если вы не проигнорировали его.