diff options
author | Aleksey Magusev <lexmag@gmail.com> | 2012-07-11 01:38:21 +0400 |
---|---|---|
committer | Aleksey Magusev <lexmag@gmail.com> | 2012-07-18 00:13:19 +0400 |
commit | 211d88b71b3df2ae161b23579a79f8e937132388 (patch) | |
tree | 531ae144bfd1e3fa8bcad17d31547d4dd4d84bb2 /railties/lib/rails | |
parent | d4811702510bf289bb07ce93263cd04d49e96bea (diff) | |
download | rails-211d88b71b3df2ae161b23579a79f8e937132388.tar.gz rails-211d88b71b3df2ae161b23579a79f8e937132388.tar.bz2 rails-211d88b71b3df2ae161b23579a79f8e937132388.zip |
Add join table migration generator
For instance, running
rails g migration CreateMediaJoinTable artists musics:uniq
will create a migration with
create_join_table :artists, :musics do |t|
# t.index [:artist_id, :music_id]
t.index [:music_id, :artist_id], unique: true
end
Diffstat (limited to 'railties/lib/rails')
-rw-r--r-- | railties/lib/rails/generators/generated_attribute.rb | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/railties/lib/rails/generators/generated_attribute.rb b/railties/lib/rails/generators/generated_attribute.rb index d480fc12b5..35cd40d25e 100644 --- a/railties/lib/rails/generators/generated_attribute.rb +++ b/railties/lib/rails/generators/generated_attribute.rb @@ -8,6 +8,7 @@ module Rails attr_accessor :name, :type attr_reader :attr_options + attr_writer :index_name class << self def parse(column_definition) @@ -94,7 +95,7 @@ module Rails end def index_name - if reference? + @index_name ||= if reference? polymorphic? ? %w(id type).map { |t| "#{name}_#{t}" } : "#{name}_id" else name |