diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-06-27 01:45:22 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-06-27 01:45:22 -0300 |
commit | 859c8c3f6727d000bd7fd12933c37b91fda3ad98 (patch) | |
tree | 5b8527a0b50419d84cc9564e309ec831096e27a7 /guides | |
parent | e6035d1e08ff690437c30aeb54372602ae73b3f0 (diff) | |
parent | f9c841927ac3d1daea2a9cebf08b18e844e5eec5 (diff) | |
download | rails-859c8c3f6727d000bd7fd12933c37b91fda3ad98.tar.gz rails-859c8c3f6727d000bd7fd12933c37b91fda3ad98.tar.bz2 rails-859c8c3f6727d000bd7fd12933c37b91fda3ad98.zip |
Merge pull request #20018 from sikachu/change-column-default-recorder
Add reversible syntax for change_column_default
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/active_record_migrations.md | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/guides/source/active_record_migrations.md b/guides/source/active_record_migrations.md index ad069a112e..0b84001ca5 100644 --- a/guides/source/active_record_migrations.md +++ b/guides/source/active_record_migrations.md @@ -423,21 +423,23 @@ change_column :products, :part_number, :text ``` This changes the column `part_number` on products table to be a `:text` field. +Note that `change_column` command is irreversible. Besides `change_column`, the `change_column_null` and `change_column_default` -methods are used specifically to change a not null constraint and default values of a -column. +methods are used specifically to change a not null constraint and default +values of a column. ```ruby change_column_null :products, :name, false -change_column_default :products, :approved, false +change_column_default :products, :approved, from: true, to: false ``` This sets `:name` field on products to a `NOT NULL` column and the default -value of the `:approved` field to false. +value of the `:approved` field from true to false. -TIP: Unlike `change_column` (and `change_column_default`), `change_column_null` -is reversible. +Note: You could also write the above `change_column_default` migration as +`change_column_default :products, :approved, false`, but unlike the previous +example, this would make your migration irreversible. ### Column Modifiers |