aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorTravis Jeffery <travisjeffery@gmail.com>2012-03-21 01:20:35 +0000
committerTravis Jeffery <travisjeffery@gmail.com>2012-03-21 01:20:35 +0000
commitb2a59388b2ad281ccce1f72dd5fda09ca746dc32 (patch)
treeb07814dd9aab2618ad07395c542bcad37a48a2e6 /railties
parentb49a7ddce18a35a39fd5b3f6003d4a02cbd09b0e (diff)
downloadrails-b2a59388b2ad281ccce1f72dd5fda09ca746dc32.tar.gz
rails-b2a59388b2ad281ccce1f72dd5fda09ca746dc32.tar.bz2
rails-b2a59388b2ad281ccce1f72dd5fda09ca746dc32.zip
Generate Migration Thats Adds Removed Index
When generating a migration that removes a field with an index, the down will add both the field and its index.
Diffstat (limited to 'railties')
-rw-r--r--railties/test/generators/migration_generator_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/railties/test/generators/migration_generator_test.rb b/railties/test/generators/migration_generator_test.rb
index 4e08e5dae1..fd84164340 100644
--- a/railties/test/generators/migration_generator_test.rb
+++ b/railties/test/generators/migration_generator_test.rb
@@ -41,6 +41,24 @@ class MigrationGeneratorTest < Rails::Generators::TestCase
end
end
+ def test_remove_migration_with_indexed_attribute
+ migration = "remove_title_body_from_posts"
+ run_generator [migration, "title:string:index", "body:text"]
+
+ assert_migration "db/migrate/#{migration}.rb" do |content|
+ assert_method :up, content do |up|
+ assert_match(/remove_column :posts, :title/, up)
+ assert_match(/remove_column :posts, :body/, up)
+ end
+
+ assert_method :down, content do |down|
+ assert_match(/add_column :posts, :title, :string/, down)
+ assert_match(/add_column :posts, :body, :text/, down)
+ assert_match(/add_index :posts, :title/, down)
+ end
+ end
+ end
+
def test_remove_migration_with_attributes
migration = "remove_title_body_from_posts"
run_generator [migration, "title:string", "body:text"]