Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add migrations_paths option to migration generator #33760

Conversation

eileencodes
Copy link
Member

Summary

Adds an option to the migration generator to allow setting the
migrations paths for that migration. This is useful for applications
that use multiple databases and put migrations per database in their own
directories.

bin/rails g migration CreateHouses address:string --migrations-paths=db/kingston_migrate
      invoke  active_record
      create    db/kingston_migrate/20180830151055_create_houses.rb

Adds an option to the migration generator to allow setting the
migrations paths for that migration. This is useful for applications
that use multiple databases and put migrations per database in their own
directories.

```
bin/rails g migration CreateHouses address:string --migrations-paths=db/kingston_migrate
      invoke  active_record
      create    db/kingston_migrate/20180830151055_create_houses.rb
```
@eileencodes eileencodes added this to the 6.0.0 milestone Aug 30, 2018
@eileencodes eileencodes merged commit 9f1d8f9 into rails:master Aug 30, 2018
@eileencodes eileencodes deleted the add-migrations_paths_option-to-migration-generator branch August 30, 2018 16:15
@@ -24,7 +24,9 @@ def primary_key_type
end

def db_migrate_path
if defined?(Rails.application) && Rails.application
if migrations_paths = options[:migrations_paths]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any reason that named plural paths here even this db_migrate_path method returns a single path unlike other migrations_paths?

self.migrations_paths = ["db/migrate"]

def migrations_paths
@migrations_paths ||= Rails.application.paths["db/migrate"].to_a
end

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was just using the same name that's used everywhere else.

bogdanvlviv added a commit to bogdanvlviv/rails that referenced this pull request Oct 15, 2018
…ors [ci skip]

`migrations_paths` option was added to migration generator, with
changelog entry, in rails#33760.
Also `migrations_paths` option was added to model generator, with
changelog entry, in rails#33994.
Then `migrations_paths` was renamed to `database` and aliased as `db`
in rails#34021, and was added new changelog entry.
I think we should edit existed changelog entries instead adding new
about changing the name of the option from `migrations_paths` to `database`
since Rails 6.0 hasn't been released yet, and since It might confuse
readers of the changelog file in case if they've read changelog enty about
adding `migrations_paths` option but haven't read the entry about
change the name of that option to `database`.
@eileencodes, @gmcgibbon, @rafaelfranca Does it make sense?
suketa added a commit to suketa/rails_sandbox that referenced this pull request Jun 9, 2019
* [Add migrations_paths option to migration generator](rails/rails#33760)
* [Add migrations_paths option to model generator](rails/rails#33994)
* [Refactor migrations_path command option to database](rails/rails#34021)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants