diff options
author | Vipul A M <vipulnsward@gmail.com> | 2016-04-22 17:58:16 +0530 |
---|---|---|
committer | Vipul A M <vipulnsward@gmail.com> | 2016-04-23 03:18:13 +0530 |
commit | 6e098284e97250eaed6f30f5c7c362d87da986b0 (patch) | |
tree | 6203ea065e135546079ba858cac3bf37f3b530b4 /activerecord/test | |
parent | 2700a1aa43201a1d4cfbe4a8141291ef4b7e7653 (diff) | |
download | rails-6e098284e97250eaed6f30f5c7c362d87da986b0.tar.gz rails-6e098284e97250eaed6f30f5c7c362d87da986b0.tar.bz2 rails-6e098284e97250eaed6f30f5c7c362d87da986b0.zip |
https://github.com/rails/rails/commit/42dd2336b31a8d98776d039a2b9fd7f834156a78 changed INSERT INTO versions to run in 1 single query.
This breaks for sqlite versions < 3.7.11, which is especially the case on Ubuntu 12.04 LTS, that has SQLite version 3.7.9 as default.
So we check for support for multi insert, before performing single query inserts, else fallback to older version of running multiple queries.
[Vipul A M & Yasuo Honda]
Diffstat (limited to 'activerecord/test')
-rw-r--r-- | activerecord/test/cases/schema_dumper_test.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/test/cases/schema_dumper_test.rb b/activerecord/test/cases/schema_dumper_test.rb index c7db77b426..7a304eab7f 100644 --- a/activerecord/test/cases/schema_dumper_test.rb +++ b/activerecord/test/cases/schema_dumper_test.rb @@ -29,6 +29,24 @@ class SchemaDumperTest < ActiveRecord::TestCase ActiveRecord::SchemaMigration.delete_all end + if current_adapter?(:SQLite3Adapter) + %w{3.7.8 3.7.11 3.7.12}.each do |version_string| + test "dumps schema version for sqlite version #{version_string}" do + version = ActiveRecord::ConnectionAdapters::SQLite3Adapter::Version.new(version_string) + ActiveRecord::Base.connection.stubs(:sqlite_version).returns(version) + + versions = %w{ 20100101010101 20100201010101 20100301010101 } + versions.reverse_each do |v| + ActiveRecord::SchemaMigration.create!(:version => v) + end + + schema_info = ActiveRecord::Base.connection.dump_schema_information + assert_match(/20100201010101.*20100301010101/m, schema_info) + ActiveRecord::SchemaMigration.delete_all + end + end + end + def test_magic_comment assert_match "# encoding: #{Encoding.default_external.name}", standard_dump end |