diff options
author | Raimonds Simanovskis <raimonds.simanovskis@gmail.com> | 2009-06-05 18:43:11 +0300 |
---|---|---|
committer | Raimonds Simanovskis <raimonds.simanovskis@gmail.com> | 2009-08-06 23:41:00 +0300 |
commit | 9b2309c4a8a8c8ad46658c170ccfdb828b30c443 (patch) | |
tree | 82f044360d362806f6144385b487a2db4d147903 | |
parent | 94e761551b884604b01b43de3da2c873715e9b4b (diff) | |
download | rails-9b2309c4a8a8c8ad46658c170ccfdb828b30c443.tar.gz rails-9b2309c4a8a8c8ad46658c170ccfdb828b30c443.tar.bz2 rails-9b2309c4a8a8c8ad46658c170ccfdb828b30c443.zip |
fix schema_dumper_test for Oracle as it supports precision up to 38
-rw-r--r-- | activerecord/test/cases/schema_dumper_test.rb | 7 | ||||
-rw-r--r-- | activerecord/test/schema/schema.rb | 7 |
2 files changed, 12 insertions, 2 deletions
diff --git a/activerecord/test/cases/schema_dumper_test.rb b/activerecord/test/cases/schema_dumper_test.rb index bf9446a474..4f8e20b3ba 100644 --- a/activerecord/test/cases/schema_dumper_test.rb +++ b/activerecord/test/cases/schema_dumper_test.rb @@ -198,6 +198,11 @@ class SchemaDumperTest < ActiveRecord::TestCase def test_schema_dump_keeps_large_precision_integer_columns_as_decimal output = standard_dump - assert_match %r{t.decimal\s+"atoms_in_universe",\s+:precision => 55,\s+:scale => 0}, output + # Oracle supports precision up to 38 and it identifies decimals with scale 0 as integers + if current_adapter?(:OracleAdapter) + assert_match %r{t.integer\s+"atoms_in_universe",\s+:precision => 38,\s+:scale => 0}, output + else + assert_match %r{t.decimal\s+"atoms_in_universe",\s+:precision => 55,\s+:scale => 0}, output + end end end diff --git a/activerecord/test/schema/schema.rb b/activerecord/test/schema/schema.rb index 5752d6fa40..5f60d5e137 100644 --- a/activerecord/test/schema/schema.rb +++ b/activerecord/test/schema/schema.rb @@ -285,7 +285,12 @@ ActiveRecord::Schema.define do t.decimal :my_house_population, :precision => 2, :scale => 0 t.decimal :decimal_number_with_default, :precision => 3, :scale => 2, :default => 2.78 t.float :temperature - t.decimal :atoms_in_universe, :precision => 55, :scale => 0 + # Oracle supports precision up to 38 + if current_adapter?(:OracleAdapter) + t.decimal :atoms_in_universe, :precision => 38, :scale => 0 + else + t.decimal :atoms_in_universe, :precision => 55, :scale => 0 + end end create_table :orders, :force => true do |t| |