activerecord-import 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +31 -0
- data/Brewfile +3 -0
- data/Gemfile +39 -0
- data/Rakefile +1 -24
- data/activerecord-import.gemspec +22 -0
- data/benchmarks/README +32 -0
- data/benchmarks/benchmark.rb +64 -0
- data/benchmarks/boot.rb +18 -0
- data/benchmarks/lib/base.rb +137 -0
- data/benchmarks/lib/cli_parser.rb +103 -0
- data/benchmarks/lib/float.rb +15 -0
- data/benchmarks/lib/mysql_benchmark.rb +22 -0
- data/benchmarks/lib/output_to_csv.rb +18 -0
- data/benchmarks/lib/output_to_html.rb +69 -0
- data/benchmarks/models/test_innodb.rb +3 -0
- data/benchmarks/models/test_memory.rb +3 -0
- data/benchmarks/models/test_myisam.rb +3 -0
- data/benchmarks/schema/mysql_schema.rb +16 -0
- data/gemfiles/3.1.gemfile +4 -0
- data/gemfiles/3.2.gemfile +4 -0
- data/gemfiles/4.0.gemfile +4 -0
- data/lib/activerecord-import/active_record/adapters/abstract_adapter.rb +0 -1
- data/lib/activerecord-import/active_record/adapters/em_mysql2_adapter.rb +8 -0
- data/lib/activerecord-import/adapters/abstract_adapter.rb +5 -58
- data/lib/activerecord-import/adapters/em_mysql2_adapter.rb +5 -0
- data/lib/activerecord-import/adapters/mysql_adapter.rb +50 -3
- data/lib/activerecord-import/adapters/sqlite3_adapter.rb +28 -3
- data/lib/activerecord-import/base.rb +3 -2
- data/lib/activerecord-import/em_mysql2.rb +7 -0
- data/lib/activerecord-import/import.rb +29 -29
- data/lib/activerecord-import/synchronize.rb +11 -10
- data/lib/activerecord-import/value_sets_parser.rb +54 -0
- data/lib/activerecord-import/version.rb +5 -0
- data/test/adapters/em_mysql2.rb +1 -0
- data/test/adapters/jdbcmysql.rb +1 -0
- data/test/adapters/mysql.rb +1 -0
- data/test/adapters/mysql2.rb +1 -0
- data/test/adapters/mysql2spatial.rb +1 -0
- data/test/adapters/mysqlspatial.rb +1 -0
- data/test/adapters/postgis.rb +1 -0
- data/test/adapters/postgresql.rb +1 -0
- data/test/adapters/seamless_database_pool.rb +1 -0
- data/test/adapters/spatialite.rb +1 -0
- data/test/adapters/sqlite3.rb +1 -0
- data/test/database.yml.sample +57 -0
- data/test/em_mysql2/import_test.rb +6 -0
- data/test/import_test.rb +350 -0
- data/test/jdbcmysql/import_test.rb +6 -0
- data/test/models/book.rb +3 -0
- data/test/models/group.rb +3 -0
- data/test/models/topic.rb +7 -0
- data/test/models/widget.rb +7 -0
- data/test/mysql/import_test.rb +6 -0
- data/test/mysql2/import_test.rb +6 -0
- data/test/mysqlspatial/import_test.rb +6 -0
- data/test/mysqlspatial2/import_test.rb +6 -0
- data/test/postgis/import_test.rb +4 -0
- data/test/postgresql/import_test.rb +4 -0
- data/test/schema/generic_schema.rb +104 -0
- data/test/schema/mysql_schema.rb +17 -0
- data/test/schema/version.rb +10 -0
- data/test/sqlite3/import_test.rb +52 -0
- data/test/support/active_support/test_case_extensions.rb +67 -0
- data/test/support/factories.rb +19 -0
- data/test/support/generate.rb +29 -0
- data/test/support/mysql/assertions.rb +55 -0
- data/test/support/mysql/import_examples.rb +147 -0
- data/test/support/postgresql/import_examples.rb +21 -0
- data/test/synchronize_test.rb +22 -0
- data/test/test_helper.rb +48 -0
- data/test/value_sets_bytes_parser_test.rb +96 -0
- data/test/value_sets_records_parser_test.rb +32 -0
- metadata +120 -58
- data/VERSION +0 -1
@@ -0,0 +1,21 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
def should_support_postgresql_import_functionality
|
3
|
+
describe "#supports_imports?" do
|
4
|
+
it "should support import" do
|
5
|
+
assert ActiveRecord::Base.supports_import?
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "#import" do
|
10
|
+
it "should import with a single insert" do
|
11
|
+
# see ActiveRecord::ConnectionAdapters::AbstractAdapter test for more specifics
|
12
|
+
assert_difference "Topic.count", +10 do
|
13
|
+
result = Topic.import Build(3, :topics)
|
14
|
+
assert_equal 1, result.num_inserts
|
15
|
+
|
16
|
+
result = Topic.import Build(7, :topics)
|
17
|
+
assert_equal 1, result.num_inserts
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require File.expand_path('../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe ".synchronize" do
|
4
|
+
let(:topics){ Generate(3, :topics) }
|
5
|
+
let(:titles){ %w(one two three) }
|
6
|
+
|
7
|
+
setup do
|
8
|
+
# update records outside of ActiveRecord knowing about it
|
9
|
+
Topic.connection.execute( "UPDATE #{Topic.table_name} SET title='#{titles[0]}_haha' WHERE id=#{topics[0].id}", "Updating record 1 without ActiveRecord" )
|
10
|
+
Topic.connection.execute( "UPDATE #{Topic.table_name} SET title='#{titles[1]}_haha' WHERE id=#{topics[1].id}", "Updating record 2 without ActiveRecord" )
|
11
|
+
Topic.connection.execute( "UPDATE #{Topic.table_name} SET title='#{titles[2]}_haha' WHERE id=#{topics[2].id}", "Updating record 3 without ActiveRecord" )
|
12
|
+
end
|
13
|
+
|
14
|
+
it "reloads data for the specified records" do
|
15
|
+
Book.synchronize topics
|
16
|
+
|
17
|
+
actual_titles = topics.map(&:title)
|
18
|
+
assert_equal "#{titles[0]}_haha", actual_titles[0], "the first record was not correctly updated"
|
19
|
+
assert_equal "#{titles[1]}_haha", actual_titles[1], "the second record was not correctly updated"
|
20
|
+
assert_equal "#{titles[2]}_haha", actual_titles[2], "the third record was not correctly updated"
|
21
|
+
end
|
22
|
+
end
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
test_dir = Pathname.new File.dirname(__FILE__)
|
3
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
4
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
5
|
+
|
6
|
+
require "fileutils"
|
7
|
+
|
8
|
+
ENV["RAILS_ENV"] = "test"
|
9
|
+
|
10
|
+
require "bundler"
|
11
|
+
Bundler.setup
|
12
|
+
|
13
|
+
require "logger"
|
14
|
+
require 'test/unit'
|
15
|
+
require "active_record"
|
16
|
+
require "active_record/fixtures"
|
17
|
+
require "active_support/test_case"
|
18
|
+
|
19
|
+
require "delorean"
|
20
|
+
require "ruby-debug" if RUBY_VERSION.to_f < 1.9
|
21
|
+
|
22
|
+
adapter = ENV["ARE_DB"] || "sqlite3"
|
23
|
+
|
24
|
+
FileUtils.mkdir_p 'log'
|
25
|
+
ActiveRecord::Base.logger = Logger.new("log/test.log")
|
26
|
+
ActiveRecord::Base.logger.level = Logger::DEBUG
|
27
|
+
ActiveRecord::Base.configurations["test"] = YAML.load_file(test_dir.join("database.yml"))[adapter]
|
28
|
+
|
29
|
+
require "activerecord-import"
|
30
|
+
ActiveRecord::Base.establish_connection "test"
|
31
|
+
|
32
|
+
ActiveSupport::Notifications.subscribe(/active_record.sql/) do |event, _, _, _, hsh|
|
33
|
+
ActiveRecord::Base.logger.info hsh[:sql]
|
34
|
+
end
|
35
|
+
|
36
|
+
require "factory_girl"
|
37
|
+
Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each{ |file| require file }
|
38
|
+
|
39
|
+
# Load base/generic schema
|
40
|
+
require test_dir.join("schema/version")
|
41
|
+
require test_dir.join("schema/generic_schema")
|
42
|
+
adapter_schema = test_dir.join("schema/#{adapter}_schema.rb")
|
43
|
+
require adapter_schema if File.exists?(adapter_schema)
|
44
|
+
|
45
|
+
Dir[File.dirname(__FILE__) + "/models/*.rb"].each{ |file| require file }
|
46
|
+
|
47
|
+
# Prevent this deprecation warning from breaking the tests.
|
48
|
+
Rake::FileList.send(:remove_method, :import)
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/test_helper')
|
2
|
+
|
3
|
+
require 'activerecord-import/value_sets_parser'
|
4
|
+
|
5
|
+
describe ActiveRecord::Import::ValuesSetsBytesParser do
|
6
|
+
context "#parse - computing insert value sets" do
|
7
|
+
let(:parser){ ActiveRecord::Import::ValuesSetsBytesParser }
|
8
|
+
let(:base_sql){ "INSERT INTO atable (a,b,c)" }
|
9
|
+
let(:values){ [ "(1,2,3)", "(2,3,4)", "(3,4,5)" ] }
|
10
|
+
|
11
|
+
context "when the max allowed bytes is 33 and the base SQL is 26 bytes" do
|
12
|
+
it "should return 3 value sets when given 3 value sets of 7 bytes a piece" do
|
13
|
+
value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 33
|
14
|
+
assert_equal 3, value_sets.size
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "when the max allowed bytes is 40 and the base SQL is 26 bytes" do
|
19
|
+
it "should return 3 value sets when given 3 value sets of 7 bytes a piece" do
|
20
|
+
value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 40
|
21
|
+
assert_equal 3, value_sets.size
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when the max allowed bytes is 41 and the base SQL is 26 bytes" do
|
26
|
+
it "should return 2 value sets when given 2 value sets of 7 bytes a piece" do
|
27
|
+
value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 41
|
28
|
+
assert_equal 2, value_sets.size
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "when the max allowed bytes is 48 and the base SQL is 26 bytes" do
|
33
|
+
it "should return 2 value sets when given 2 value sets of 7 bytes a piece" do
|
34
|
+
value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 48
|
35
|
+
assert_equal 2, value_sets.size
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when the max allowed bytes is 49 and the base SQL is 26 bytes" do
|
40
|
+
it "should return 1 value sets when given 1 value sets of 7 bytes a piece" do
|
41
|
+
value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 49
|
42
|
+
assert_equal 1, value_sets.size
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when the max allowed bytes is 999999 and the base SQL is 26 bytes" do
|
47
|
+
it "should return 1 value sets when given 1 value sets of 7 bytes a piece" do
|
48
|
+
value_sets = parser.parse values, :reserved_bytes => base_sql.size, :max_bytes => 999999
|
49
|
+
assert_equal 1, value_sets.size
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should properly build insert value set based on max packet allowed" do
|
54
|
+
values = [
|
55
|
+
"('1','2','3')",
|
56
|
+
"('4','5','6')",
|
57
|
+
"('7','8','9')" ]
|
58
|
+
|
59
|
+
values_size_in_bytes = values.sum {|value| value.bytesize }
|
60
|
+
base_sql_size_in_bytes = 15
|
61
|
+
max_bytes = 30
|
62
|
+
|
63
|
+
value_sets = parser.parse values, reserved_bytes: base_sql_size_in_bytes, max_bytes: max_bytes
|
64
|
+
assert_equal 3, value_sets.size, 'Three value sets were expected!'
|
65
|
+
|
66
|
+
# Each element in the value_sets array must be an array
|
67
|
+
value_sets.each_with_index { |e,i|
|
68
|
+
assert_kind_of Array, e, "Element #{i} was expected to be an Array!" }
|
69
|
+
|
70
|
+
# Each element in the values array should have a 1:1 correlation to the elements
|
71
|
+
# in the returned value_sets arrays
|
72
|
+
assert_equal values[0], value_sets[0].first
|
73
|
+
assert_equal values[1], value_sets[1].first
|
74
|
+
assert_equal values[2], value_sets[2].first
|
75
|
+
end
|
76
|
+
|
77
|
+
context "data contains multi-byte chars" do
|
78
|
+
it "should properly build insert value set based on max packet allowed" do
|
79
|
+
# each accented e should be 2 bytes, so each entry is 6 bytes instead of 5
|
80
|
+
values = [
|
81
|
+
"('é')",
|
82
|
+
"('é')" ]
|
83
|
+
|
84
|
+
base_sql_size_in_bytes = 15
|
85
|
+
max_bytes = 26
|
86
|
+
|
87
|
+
values_size_in_bytes = values.sum {|value| value.bytesize }
|
88
|
+
value_sets = parser.parse values, reserved_bytes: base_sql_size_in_bytes, max_bytes: max_bytes
|
89
|
+
|
90
|
+
assert_equal 2, value_sets.size, 'Two value sets were expected!'
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/test_helper')
|
2
|
+
|
3
|
+
require 'activerecord-import/value_sets_parser'
|
4
|
+
|
5
|
+
describe "ActiveRecord::Import::ValuesSetsRecordsParser" do
|
6
|
+
context "#parse - computing insert value sets" do
|
7
|
+
let(:parser){ ActiveRecord::Import::ValueSetsRecordsParser }
|
8
|
+
let(:base_sql){ "INSERT INTO atable (a,b,c)" }
|
9
|
+
let(:values){ [ "(1,2,3)", "(2,3,4)", "(3,4,5)" ] }
|
10
|
+
|
11
|
+
context "when the max number of records is 1" do
|
12
|
+
it "should return 3 value sets when given 3 values sets" do
|
13
|
+
value_sets = parser.parse values, :max_records => 1
|
14
|
+
assert_equal 3, value_sets.size
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "when the max number of records is 2" do
|
19
|
+
it "should return 2 value sets when given 3 values sets" do
|
20
|
+
value_sets = parser.parse values, :max_records => 2
|
21
|
+
assert_equal 2, value_sets.size
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when the max number of records is 3" do
|
26
|
+
it "should return 1 value sets when given 3 values sets" do
|
27
|
+
value_sets = parser.parse values, :max_records => 3
|
28
|
+
assert_equal 1, value_sets.size
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,93 +1,76 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Zach Dennis
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-07-17 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activerecord
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '3.0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '3.0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: jeweler
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 1.4.0
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.4.0
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: activerecord
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ~>
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '3.0'
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ~>
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '3.0'
|
78
41
|
description: Extraction of the ActiveRecord::Base#import functionality from ar-extensions
|
79
42
|
for Rails 3 and beyond
|
80
|
-
email:
|
43
|
+
email:
|
44
|
+
- zach.dennis@gmail.com
|
81
45
|
executables: []
|
82
46
|
extensions: []
|
83
|
-
extra_rdoc_files:
|
84
|
-
- README.markdown
|
47
|
+
extra_rdoc_files: []
|
85
48
|
files:
|
49
|
+
- .gitignore
|
50
|
+
- Brewfile
|
51
|
+
- Gemfile
|
86
52
|
- README.markdown
|
87
53
|
- Rakefile
|
88
|
-
-
|
54
|
+
- activerecord-import.gemspec
|
55
|
+
- benchmarks/README
|
56
|
+
- benchmarks/benchmark.rb
|
57
|
+
- benchmarks/boot.rb
|
58
|
+
- benchmarks/lib/base.rb
|
59
|
+
- benchmarks/lib/cli_parser.rb
|
60
|
+
- benchmarks/lib/float.rb
|
61
|
+
- benchmarks/lib/mysql_benchmark.rb
|
62
|
+
- benchmarks/lib/output_to_csv.rb
|
63
|
+
- benchmarks/lib/output_to_html.rb
|
64
|
+
- benchmarks/models/test_innodb.rb
|
65
|
+
- benchmarks/models/test_memory.rb
|
66
|
+
- benchmarks/models/test_myisam.rb
|
67
|
+
- benchmarks/schema/mysql_schema.rb
|
68
|
+
- gemfiles/3.1.gemfile
|
69
|
+
- gemfiles/3.2.gemfile
|
70
|
+
- gemfiles/4.0.gemfile
|
89
71
|
- lib/activerecord-import.rb
|
90
72
|
- lib/activerecord-import/active_record/adapters/abstract_adapter.rb
|
73
|
+
- lib/activerecord-import/active_record/adapters/em_mysql2_adapter.rb
|
91
74
|
- lib/activerecord-import/active_record/adapters/jdbcmysql_adapter.rb
|
92
75
|
- lib/activerecord-import/active_record/adapters/mysql2_adapter.rb
|
93
76
|
- lib/activerecord-import/active_record/adapters/mysql_adapter.rb
|
@@ -95,42 +78,121 @@ files:
|
|
95
78
|
- lib/activerecord-import/active_record/adapters/seamless_database_pool_adapter.rb
|
96
79
|
- lib/activerecord-import/active_record/adapters/sqlite3_adapter.rb
|
97
80
|
- lib/activerecord-import/adapters/abstract_adapter.rb
|
81
|
+
- lib/activerecord-import/adapters/em_mysql2_adapter.rb
|
98
82
|
- lib/activerecord-import/adapters/mysql2_adapter.rb
|
99
83
|
- lib/activerecord-import/adapters/mysql_adapter.rb
|
100
84
|
- lib/activerecord-import/adapters/postgresql_adapter.rb
|
101
85
|
- lib/activerecord-import/adapters/sqlite3_adapter.rb
|
102
86
|
- lib/activerecord-import/base.rb
|
87
|
+
- lib/activerecord-import/em_mysql2.rb
|
103
88
|
- lib/activerecord-import/import.rb
|
104
89
|
- lib/activerecord-import/mysql.rb
|
105
90
|
- lib/activerecord-import/mysql2.rb
|
106
91
|
- lib/activerecord-import/postgresql.rb
|
107
92
|
- lib/activerecord-import/sqlite3.rb
|
108
93
|
- lib/activerecord-import/synchronize.rb
|
94
|
+
- lib/activerecord-import/value_sets_parser.rb
|
95
|
+
- lib/activerecord-import/version.rb
|
96
|
+
- test/adapters/em_mysql2.rb
|
97
|
+
- test/adapters/jdbcmysql.rb
|
98
|
+
- test/adapters/mysql.rb
|
99
|
+
- test/adapters/mysql2.rb
|
100
|
+
- test/adapters/mysql2spatial.rb
|
101
|
+
- test/adapters/mysqlspatial.rb
|
102
|
+
- test/adapters/postgis.rb
|
103
|
+
- test/adapters/postgresql.rb
|
104
|
+
- test/adapters/seamless_database_pool.rb
|
105
|
+
- test/adapters/spatialite.rb
|
106
|
+
- test/adapters/sqlite3.rb
|
107
|
+
- test/database.yml.sample
|
108
|
+
- test/em_mysql2/import_test.rb
|
109
|
+
- test/import_test.rb
|
110
|
+
- test/jdbcmysql/import_test.rb
|
111
|
+
- test/models/book.rb
|
112
|
+
- test/models/group.rb
|
113
|
+
- test/models/topic.rb
|
114
|
+
- test/models/widget.rb
|
115
|
+
- test/mysql/import_test.rb
|
116
|
+
- test/mysql2/import_test.rb
|
117
|
+
- test/mysqlspatial/import_test.rb
|
118
|
+
- test/mysqlspatial2/import_test.rb
|
119
|
+
- test/postgis/import_test.rb
|
120
|
+
- test/postgresql/import_test.rb
|
121
|
+
- test/schema/generic_schema.rb
|
122
|
+
- test/schema/mysql_schema.rb
|
123
|
+
- test/schema/version.rb
|
124
|
+
- test/sqlite3/import_test.rb
|
125
|
+
- test/support/active_support/test_case_extensions.rb
|
126
|
+
- test/support/factories.rb
|
127
|
+
- test/support/generate.rb
|
128
|
+
- test/support/mysql/assertions.rb
|
129
|
+
- test/support/mysql/import_examples.rb
|
130
|
+
- test/support/postgresql/import_examples.rb
|
131
|
+
- test/synchronize_test.rb
|
132
|
+
- test/test_helper.rb
|
133
|
+
- test/value_sets_bytes_parser_test.rb
|
134
|
+
- test/value_sets_records_parser_test.rb
|
109
135
|
homepage: http://github.com/zdennis/activerecord-import
|
110
136
|
licenses: []
|
137
|
+
metadata: {}
|
111
138
|
post_install_message:
|
112
139
|
rdoc_options: []
|
113
140
|
require_paths:
|
114
141
|
- lib
|
115
142
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
143
|
requirements:
|
118
|
-
- -
|
144
|
+
- - '>='
|
119
145
|
- !ruby/object:Gem::Version
|
120
|
-
version:
|
121
|
-
segments:
|
122
|
-
- 0
|
123
|
-
hash: -1608822567820744483
|
146
|
+
version: 1.9.2
|
124
147
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
125
|
-
none: false
|
126
148
|
requirements:
|
127
|
-
- -
|
149
|
+
- - '>='
|
128
150
|
- !ruby/object:Gem::Version
|
129
151
|
version: '0'
|
130
152
|
requirements: []
|
131
153
|
rubyforge_project:
|
132
|
-
rubygems_version:
|
154
|
+
rubygems_version: 2.0.3
|
133
155
|
signing_key:
|
134
|
-
specification_version:
|
156
|
+
specification_version: 4
|
135
157
|
summary: Bulk-loading extension for ActiveRecord
|
136
|
-
test_files:
|
158
|
+
test_files:
|
159
|
+
- test/adapters/em_mysql2.rb
|
160
|
+
- test/adapters/jdbcmysql.rb
|
161
|
+
- test/adapters/mysql.rb
|
162
|
+
- test/adapters/mysql2.rb
|
163
|
+
- test/adapters/mysql2spatial.rb
|
164
|
+
- test/adapters/mysqlspatial.rb
|
165
|
+
- test/adapters/postgis.rb
|
166
|
+
- test/adapters/postgresql.rb
|
167
|
+
- test/adapters/seamless_database_pool.rb
|
168
|
+
- test/adapters/spatialite.rb
|
169
|
+
- test/adapters/sqlite3.rb
|
170
|
+
- test/database.yml.sample
|
171
|
+
- test/em_mysql2/import_test.rb
|
172
|
+
- test/import_test.rb
|
173
|
+
- test/jdbcmysql/import_test.rb
|
174
|
+
- test/models/book.rb
|
175
|
+
- test/models/group.rb
|
176
|
+
- test/models/topic.rb
|
177
|
+
- test/models/widget.rb
|
178
|
+
- test/mysql/import_test.rb
|
179
|
+
- test/mysql2/import_test.rb
|
180
|
+
- test/mysqlspatial/import_test.rb
|
181
|
+
- test/mysqlspatial2/import_test.rb
|
182
|
+
- test/postgis/import_test.rb
|
183
|
+
- test/postgresql/import_test.rb
|
184
|
+
- test/schema/generic_schema.rb
|
185
|
+
- test/schema/mysql_schema.rb
|
186
|
+
- test/schema/version.rb
|
187
|
+
- test/sqlite3/import_test.rb
|
188
|
+
- test/support/active_support/test_case_extensions.rb
|
189
|
+
- test/support/factories.rb
|
190
|
+
- test/support/generate.rb
|
191
|
+
- test/support/mysql/assertions.rb
|
192
|
+
- test/support/mysql/import_examples.rb
|
193
|
+
- test/support/postgresql/import_examples.rb
|
194
|
+
- test/synchronize_test.rb
|
195
|
+
- test/test_helper.rb
|
196
|
+
- test/value_sets_bytes_parser_test.rb
|
197
|
+
- test/value_sets_records_parser_test.rb
|
198
|
+
has_rdoc:
|