mirror of
https://github.com/jbranchaud/til
synced 2026-01-09 01:58:02 +00:00
Add Add A Reference Column With An Index as a rails til
This commit is contained in:
@@ -9,7 +9,7 @@ and pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
||||||
|
|
||||||
_901 TILs and counting..._
|
_902 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -515,6 +515,7 @@ _901 TILs and counting..._
|
|||||||
|
|
||||||
- [Add A Check Constraint To A Table](rails/add-a-check-constraint-to-a-table.md)
|
- [Add A Check Constraint To A Table](rails/add-a-check-constraint-to-a-table.md)
|
||||||
- [Add A Foreign Key Reference To A Table](rails/add-a-foreign-key-reference-to-a-table.md)
|
- [Add A Foreign Key Reference To A Table](rails/add-a-foreign-key-reference-to-a-table.md)
|
||||||
|
- [Add A Reference Column With An Index](rails/add-a-reference-column-with-an-index.md)
|
||||||
- [Add React With Webpacker To A New Rails App](rails/add-react-with-webpacker-to-a-new-rails-app.md)
|
- [Add React With Webpacker To A New Rails App](rails/add-react-with-webpacker-to-a-new-rails-app.md)
|
||||||
- [Access Secrets In A Rails 5.2 App](rails/access-secrets-in-a-rails-5-2-app.md)
|
- [Access Secrets In A Rails 5.2 App](rails/access-secrets-in-a-rails-5-2-app.md)
|
||||||
- [ActiveRecord Query For This Or That](rails/active-record-query-for-this-or-that.md)
|
- [ActiveRecord Query For This Or That](rails/active-record-query-for-this-or-that.md)
|
||||||
|
|||||||
26
rails/add-a-reference-column-with-an-index.md
Normal file
26
rails/add-a-reference-column-with-an-index.md
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Add A Reference Column With An Index
|
||||||
|
|
||||||
|
Though I prefer to always back my reference columns with a [foreign
|
||||||
|
key](add-a-foreign-key-reference-to-a-table.md), sometimes you may just want to
|
||||||
|
add the reference column on its own. Though this could be done manually with
|
||||||
|
the `add_column` directive, you can be more explicit with `add_reference` --
|
||||||
|
which allows you to specify whether or not an index is to be added.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
def up
|
||||||
|
add_reference :books, :authors, index: true
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
This will add `authors_id` and an index to the `books` table.
|
||||||
|
|
||||||
|
You can additionally specify the type of the column. This is handy if you are
|
||||||
|
using `uuid`s for all your primary keys.
|
||||||
|
|
||||||
|
```ruby
|
||||||
|
def up
|
||||||
|
add_reference :books, :authors, type: :uuid, index: true
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
[source](https://nandovieira.com/using-uuid-with-postgresql-and-activerecord)
|
||||||
Reference in New Issue
Block a user