aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/migration_test.rb
diff options
context:
space:
mode:
authorLaust Rud Jacobsen <laust@object.io>2011-11-01 07:29:48 +0100
committerLaust Rud Jacobsen <laust@object.io>2011-10-31 10:36:13 +0100
commitff9c2799c1a065fb132df64da6d19683c647b5b4 (patch)
treeef5031cbbcfee085ddf737003bcc56ee066f1e67 /activerecord/test/cases/migration_test.rb
parent818bf1da0e86cf50b5a33ec493959374ccc1cb7d (diff)
downloadrails-ff9c2799c1a065fb132df64da6d19683c647b5b4.tar.gz
rails-ff9c2799c1a065fb132df64da6d19683c647b5b4.tar.bz2
rails-ff9c2799c1a065fb132df64da6d19683c647b5b4.zip
dump_schema_information: explicitly order inserts into schema_migrations table
This change reduces churn in the db/development_structure.sql file when using :sql as active_record.schema_format, and makes comparing diffs much easier. Test ensures the output SQL-statements are lexically ordered by version.
Diffstat (limited to 'activerecord/test/cases/migration_test.rb')
-rw-r--r--activerecord/test/cases/migration_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb
index 49944eced9..4fdb7d2f25 100644
--- a/activerecord/test/cases/migration_test.rb
+++ b/activerecord/test/cases/migration_test.rb
@@ -1339,6 +1339,15 @@ if ActiveRecord::Base.connection.supports_migrations?
end
end
+ def test_dump_schema_information_outputs_lexically_ordered_versions
+ migration_path = MIGRATIONS_ROOT + '/valid_with_timestamps'
+ ActiveRecord::Migrator.run(:up, migration_path, 20100301010101)
+ ActiveRecord::Migrator.run(:up, migration_path, 20100201010101)
+
+ schema_info = ActiveRecord::Base.connection.dump_schema_information
+ assert_match schema_info, /20100201010101.*20100301010101/m
+ end
+
def test_finds_pending_migrations
ActiveRecord::Migrator.up(MIGRATIONS_ROOT + "/interleaved/pass_2", 1)
migrations = ActiveRecord::Migrator.new(:up, MIGRATIONS_ROOT + "/interleaved/pass_2").pending_migrations