diff options
author | Dmitrii Samoilov <e2718281828@ya.ru> | 2011-08-17 12:16:04 +0300 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2011-12-24 10:01:54 +0100 |
commit | 7a47f362c8246c20437f49111e5dcc0781d6d024 (patch) | |
tree | 524d3c5d1a388f25a7ae2563c580d3269403e46b /activerecord/lib/rails/generators/active_record/migration/templates | |
parent | e6bfcc21a8b1a139dacc8d6c957bc4ab3e55c3b6 (diff) | |
download | rails-7a47f362c8246c20437f49111e5dcc0781d6d024.tar.gz rails-7a47f362c8246c20437f49111e5dcc0781d6d024.tar.bz2 rails-7a47f362c8246c20437f49111e5dcc0781d6d024.zip |
added ability to specify from cli when generating a model/migration whether particular property should be an index like this 'rails g model person name:string:index profile:string'
Diffstat (limited to 'activerecord/lib/rails/generators/active_record/migration/templates')
-rw-r--r-- | activerecord/lib/rails/generators/active_record/migration/templates/migration.rb | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb b/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb index ce8d7eed42..53018ffc9a 100644 --- a/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb +++ b/activerecord/lib/rails/generators/active_record/migration/templates/migration.rb @@ -2,14 +2,20 @@ class <%= migration_class_name %> < ActiveRecord::Migration <%- if migration_action == 'add' -%> def change <% attributes.each do |attribute| -%> - add_column :<%= table_name %>, :<%= attribute.name %>, :<%= attribute.type %> + add_column :<%= table_name %>, :<%= attribute.name %>, :<%= attribute.type %><%= attribute.inject_options %> + <%- if attribute.has_index? -%> + add_index :<%= table_name %>, :<%= attribute.name %><%= attribute.inject_index_options %> + <%- end %> <%- end -%> end <%- else -%> def up <% attributes.each do |attribute| -%> <%- if migration_action -%> - <%= migration_action %>_column :<%= table_name %>, :<%= attribute.name %><% if migration_action == 'add' %>, :<%= attribute.type %><% end %> + <%= migration_action %>_column :<%= table_name %>, :<%= attribute.name %><% if migration_action == 'add' %>, :<%= attribute.type %><%= attribute.inject_options %><% end %> + <% if attribute.has_index? && migration_action == 'add' %> + add_index :<%= table_name %>, :<%= attribute.name %><%= attribute.inject_index_options %> + <% end -%> <%- end -%> <%- end -%> end @@ -17,7 +23,7 @@ class <%= migration_class_name %> < ActiveRecord::Migration def down <% attributes.reverse.each do |attribute| -%> <%- if migration_action -%> - <%= migration_action == 'add' ? 'remove' : 'add' %>_column :<%= table_name %>, :<%= attribute.name %><% if migration_action == 'remove' %>, :<%= attribute.type %><% end %> + <%= migration_action == 'add' ? 'remove' : 'add' %>_column :<%= table_name %>, :<%= attribute.name %><% if migration_action == 'remove' %>, :<%= attribute.type %><%= attribute.inject_options %><% end %> <%- end -%> <%- end -%> end |