From 67fba0cfa93feaa183d546de625e63cb16c56d7d Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Wed, 11 Jan 2012 15:24:15 -0800 Subject: add a migration schema model --- activerecord/lib/active_record/migration.rb | 6 +++--- activerecord/lib/active_record/schema_migration.rb | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 activerecord/lib/active_record/schema_migration.rb diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb index 8dade3b576..0a7a558675 100644 --- a/activerecord/lib/active_record/migration.rb +++ b/activerecord/lib/active_record/migration.rb @@ -1,6 +1,7 @@ require "active_support/core_ext/module/delegation" require "active_support/core_ext/class/attribute_accessors" require 'active_support/deprecation' +require 'active_record/schema_migration' module ActiveRecord # Exception that can be raised to stop migrations from going backwards. @@ -582,12 +583,11 @@ module ActiveRecord end def schema_migrations_table_name - Base.table_name_prefix + 'schema_migrations' + Base.table_name_suffix + SchemaMigration.table_name end def get_all_versions - table = Arel::Table.new(schema_migrations_table_name) - Base.connection.select_values(table.project(table['version'])).map{ |v| v.to_i }.sort + SchemaMigration.all.map { |x| x.version.to_i }.sort end def current_version diff --git a/activerecord/lib/active_record/schema_migration.rb b/activerecord/lib/active_record/schema_migration.rb new file mode 100644 index 0000000000..5a04660dc3 --- /dev/null +++ b/activerecord/lib/active_record/schema_migration.rb @@ -0,0 +1,9 @@ +require 'active_record' + +module ActiveRecord + class SchemaMigration < ActiveRecord::Base + def self.table_name + Base.table_name_prefix + 'schema_migrations' + Base.table_name_suffix + end + end +end -- cgit v1.2.3