From da3fd478bb6a0337e0f343da9177f19f776d247c Mon Sep 17 00:00:00 2001 From: Ian White Date: Mon, 14 Apr 2008 18:37:19 +0100 Subject: [PATCH] Test and fix for http://rails.lighthouseapp.com/projects/8994/tickets/1-since-r9244-migrations-broken-on-clean-db --- activerecord/lib/active_record/migration.rb | 5 +++-- activerecord/test/cases/migration_test.rb | 11 +++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb index 573c6a4..9e3474c 100644 --- a/activerecord/lib/active_record/migration.rb +++ b/activerecord/lib/active_record/migration.rb @@ -364,8 +364,9 @@ module ActiveRecord end def current_version - Base.connection.select_values( - "SELECT version FROM #{schema_migrations_table_name}").map(&:to_i).max || 0 + version = Base.connection.select_values( + "SELECT version FROM #{schema_migrations_table_name}").map(&:to_i).max rescue nil + version || 0 end def proper_table_name(name) diff --git a/activerecord/test/cases/migration_test.rb b/activerecord/test/cases/migration_test.rb index 885d89b..dc07452 100644 --- a/activerecord/test/cases/migration_test.rb +++ b/activerecord/test/cases/migration_test.rb @@ -812,7 +812,14 @@ if ActiveRecord::Base.connection.supports_migrations? ActiveRecord::Migrator.down(MIGRATIONS_ROOT + "/interleaved/pass_3") end end - + + def test_migrator_db_has_no_schema_migrations_table + ActiveRecord::Base.connection.execute("DROP TABLE schema_migrations;") + assert_nothing_raised do + ActiveRecord::Migrator.migrate(MIGRATIONS_ROOT + "/valid", 1) + end + end + def test_migrator_verbosity ActiveRecord::Migrator.up(MIGRATIONS_ROOT + "/valid", 1) assert PeopleHaveLastNames.message_count > 0 @@ -1010,7 +1017,7 @@ if ActiveRecord::Base.connection.supports_migrations? end end - + uses_mocha 'Sexy migration tests' do class SexyMigrationsTest < ActiveRecord::TestCase def test_references_column_type_adds_id -- 1.5.4.4