diff options
author | Xavier Noria <fxn@hashref.com> | 2013-02-21 04:04:12 -0800 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2013-02-21 04:04:12 -0800 |
commit | b0fa9b59c8c9cac52d4eb4d8d984b85d4a753e97 (patch) | |
tree | a2a09dbf4a545dea0fc09eeece6a47618e7f33c6 | |
parent | 34c133ac6108786fd8378db5b906cb2d846450fa (diff) | |
parent | 5b5f7a6b5c4b12a341043bfa348173f9732ef383 (diff) | |
download | rails-b0fa9b59c8c9cac52d4eb4d8d984b85d4a753e97.tar.gz rails-b0fa9b59c8c9cac52d4eb4d8d984b85d4a753e97.tar.bz2 rails-b0fa9b59c8c9cac52d4eb4d8d984b85d4a753e97.zip |
Merge pull request #9348 from schuetzm/doc_no_indices_with_create_join_table
Add more documentation for create_join_table.
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 8 | ||||
-rw-r--r-- | guides/source/migrations.md | 10 |
2 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index b737268f61..9bae880024 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -192,6 +192,14 @@ module ActiveRecord # Set to true to drop the table before creating it. # Defaults to false. # + # Note that +create_join_table+ does not create any indices by default; you can use + # its block form to do so yourself: + # + # create_join_table :products, :categories do |t| + # t.index :products + # t.index :categories + # end + # # ====== Add a backend specific option to the generated SQL (MySQL) # create_join_table(:assemblies, :parts, options: 'ENGINE=InnoDB DEFAULT CHARSET=utf8') # generates: diff --git a/guides/source/migrations.md b/guides/source/migrations.md index c4fbae8925..d738d847e9 100644 --- a/guides/source/migrations.md +++ b/guides/source/migrations.md @@ -344,6 +344,16 @@ create_join_table :products, :categories, column_options: {null: true} will create the `product_id` and `category_id` with the `:null` option as `true`. +`create_join_table` also accepts a block, which you can use to add indices +(which are not created by default) or additional columns: + +```ruby +create_join_table :products, :categories do |t| + t.index :products + t.index :categories +end +``` + ### Changing Tables A close cousin of `create_table` is `change_table`, used for changing existing |