capistrano / capistrano/rails

Deploy new applications with db:schema:load

Open
#118 32 comments 4 reactions 0 assignees View on GitHub
discuss! new feature
Dominant language
Ruby
Stars
901
Forks
262
PR merge metrics
No merged PRs in 30d

Description

Hello,

I see that [someone requested this feature for a different reason](https://github.com/capistrano/rails/issues/62) and it was denied. I don't understand the reason for dismissal, as the [source of truth for the database schema](http://guides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you) is the `/db/schema.rb` or `/db/structure.sql` file. Migrations are only designed to manage changes to the database and it seems a waste to run the entire migration history when deploying a new application. Also it should be possible to delete old migrations if an application has a great many.

> There is no need (and it is error prone) to deploy a new instance of an app by replaying the entire migration history. It is much simpler and faster to just load into the database a description of the current schema. - [Rails guide](http://guides.rubyonrails.org/active_record_migrations.html#schema-dumping-and-you)

Any chance you would reconsider this position?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the prior discussion in issue #62 and the Rails guide section on schema dumping and migrations, then compare that position with Capistrano's deployment tasks. The issue names no files, tests, or entry points, and its completion criteria would need to be defined before implementation can begin.

Written by the indexing model from the issue text.

Assessment

Tech stack
rails, ruby
Domain
devops, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.