aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorschneems <richard.schneeman@gmail.com>2012-06-03 15:07:11 -0500
committerschneems <richard.schneeman@gmail.com>2012-06-03 15:07:11 -0500
commite5b39862cb4f8f3097cc8ab2dc606ddb1bd1febb (patch)
treefeee3d3ef6371b3e5207aa3087675db2b62c30d5 /activerecord/test
parent0460949070d4105810d2c39e6e85fcf93034a861 (diff)
downloadrails-e5b39862cb4f8f3097cc8ab2dc606ddb1bd1febb.tar.gz
rails-e5b39862cb4f8f3097cc8ab2dc606ddb1bd1febb.tar.bz2
rails-e5b39862cb4f8f3097cc8ab2dc606ddb1bd1febb.zip
add convenience methods for checking migrations
if a rails project needs to be migrated ActiveRecord::Migrator.needs_migration? will be true or false if the current version matches the last version.
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/migration_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb
index 5d1bad0d54..45c847bae8 100644
--- a/activerecord/test/cases/migration_test.rb
+++ b/activerecord/test/cases/migration_test.rb
@@ -56,6 +56,21 @@ class MigrationTest < ActiveRecord::TestCase
Person.reset_column_information
end
+ def test_migrator_versions
+ migrations_path = MIGRATIONS_ROOT + "/valid"
+ ActiveRecord::Migrator.migrations_paths = migrations_path
+
+ ActiveRecord::Migrator.up(migrations_path)
+ assert_equal 3, ActiveRecord::Migrator.current_version
+ assert_equal 3, ActiveRecord::Migrator.last_version
+ assert_equal false, ActiveRecord::Migrator.needs_migration?
+
+ ActiveRecord::Migrator.down(MIGRATIONS_ROOT + "/valid")
+ assert_equal 0, ActiveRecord::Migrator.current_version
+ assert_equal 3, ActiveRecord::Migrator.last_version
+ assert_equal true, ActiveRecord::Migrator.needs_migration?
+ end
+
def test_create_table_with_force_true_does_not_drop_nonexisting_table
if Person.connection.table_exists?(:testings2)
Person.connection.drop_table :testings2