diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2012-08-17 10:21:21 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2012-08-17 10:21:35 -0700 |
commit | 3e8ab910ce636c9980d4fd9bc9aade795fd578ef (patch) | |
tree | 45191bc6f07122f8295c3fda7a4231ba0e5e577c | |
parent | 8f4ee48687b7b4c2df123a078923f3d5b3b065ec (diff) | |
download | rails-3e8ab910ce636c9980d4fd9bc9aade795fd578ef.tar.gz rails-3e8ab910ce636c9980d4fd9bc9aade795fd578ef.tar.bz2 rails-3e8ab910ce636c9980d4fd9bc9aade795fd578ef.zip |
column default extraction should handle newlines.
Fixes #7374
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | 4 | ||||
-rw-r--r-- | activerecord/test/cases/migration/column_attributes_test.rb | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb index 57aa47ab61..4fe0013f0f 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -380,9 +380,9 @@ module ActiveRecord case field["dflt_value"] when /^null$/i field["dflt_value"] = nil - when /^'(.*)'$/ + when /^'(.*)'$/m field["dflt_value"] = $1.gsub("''", "'") - when /^"(.*)"$/ + when /^"(.*)"$/m field["dflt_value"] = $1.gsub('""', '"') end diff --git a/activerecord/test/cases/migration/column_attributes_test.rb b/activerecord/test/cases/migration/column_attributes_test.rb index 9584d5dd06..b88db384a0 100644 --- a/activerecord/test/cases/migration/column_attributes_test.rb +++ b/activerecord/test/cases/migration/column_attributes_test.rb @@ -7,6 +7,14 @@ module ActiveRecord self.use_transactional_fixtures = false + def test_add_column_newline_default + string = "foo\nbar" + add_column 'test_models', 'command', :string, :default => string + TestModel.reset_column_information + + assert_equal string, TestModel.new.command + end + def test_add_remove_single_field_using_string_arguments refute TestModel.column_methods_hash.key?(:last_name) |