activerecord-import 1.1.0 → 1.4.1

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.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yaml +107 -0
  3. data/.rubocop.yml +74 -8
  4. data/Brewfile +3 -1
  5. data/CHANGELOG.md +38 -3
  6. data/Gemfile +5 -7
  7. data/README.markdown +13 -12
  8. data/Rakefile +2 -0
  9. data/activerecord-import.gemspec +4 -3
  10. data/benchmarks/benchmark.rb +7 -1
  11. data/benchmarks/lib/base.rb +2 -0
  12. data/benchmarks/lib/cli_parser.rb +3 -1
  13. data/benchmarks/lib/float.rb +2 -0
  14. data/benchmarks/lib/mysql2_benchmark.rb +2 -0
  15. data/benchmarks/lib/output_to_csv.rb +2 -0
  16. data/benchmarks/lib/output_to_html.rb +4 -2
  17. data/benchmarks/models/test_innodb.rb +2 -0
  18. data/benchmarks/models/test_memory.rb +2 -0
  19. data/benchmarks/models/test_myisam.rb +2 -0
  20. data/benchmarks/schema/mysql2_schema.rb +2 -0
  21. data/gemfiles/4.2.gemfile +2 -0
  22. data/gemfiles/5.0.gemfile +2 -0
  23. data/gemfiles/5.1.gemfile +2 -0
  24. data/gemfiles/5.2.gemfile +2 -0
  25. data/gemfiles/6.0.gemfile +2 -0
  26. data/gemfiles/6.1.gemfile +3 -0
  27. data/gemfiles/7.0.gemfile +4 -0
  28. data/lib/activerecord-import/active_record/adapters/abstract_adapter.rb +2 -0
  29. data/lib/activerecord-import/active_record/adapters/jdbcmysql_adapter.rb +6 -4
  30. data/lib/activerecord-import/active_record/adapters/jdbcpostgresql_adapter.rb +2 -0
  31. data/lib/activerecord-import/active_record/adapters/jdbcsqlite3_adapter.rb +2 -0
  32. data/lib/activerecord-import/active_record/adapters/mysql2_adapter.rb +2 -0
  33. data/lib/activerecord-import/active_record/adapters/postgresql_adapter.rb +2 -0
  34. data/lib/activerecord-import/active_record/adapters/seamless_database_pool_adapter.rb +2 -0
  35. data/lib/activerecord-import/active_record/adapters/sqlite3_adapter.rb +2 -0
  36. data/lib/activerecord-import/adapters/abstract_adapter.rb +2 -0
  37. data/lib/activerecord-import/adapters/em_mysql2_adapter.rb +2 -0
  38. data/lib/activerecord-import/adapters/mysql2_adapter.rb +2 -0
  39. data/lib/activerecord-import/adapters/mysql_adapter.rb +3 -1
  40. data/lib/activerecord-import/adapters/postgresql_adapter.rb +41 -30
  41. data/lib/activerecord-import/adapters/sqlite3_adapter.rb +8 -8
  42. data/lib/activerecord-import/base.rb +3 -1
  43. data/lib/activerecord-import/import.rb +62 -32
  44. data/lib/activerecord-import/mysql2.rb +2 -0
  45. data/lib/activerecord-import/postgresql.rb +2 -0
  46. data/lib/activerecord-import/sqlite3.rb +2 -0
  47. data/lib/activerecord-import/synchronize.rb +3 -1
  48. data/lib/activerecord-import/value_sets_parser.rb +2 -0
  49. data/lib/activerecord-import/version.rb +3 -1
  50. data/lib/activerecord-import.rb +3 -1
  51. data/test/adapters/jdbcmysql.rb +2 -0
  52. data/test/adapters/jdbcpostgresql.rb +2 -0
  53. data/test/adapters/jdbcsqlite3.rb +2 -0
  54. data/test/adapters/makara_postgis.rb +2 -0
  55. data/test/adapters/mysql2.rb +2 -0
  56. data/test/adapters/mysql2_makara.rb +2 -0
  57. data/test/adapters/mysql2spatial.rb +2 -0
  58. data/test/adapters/postgis.rb +2 -0
  59. data/test/adapters/postgresql.rb +2 -0
  60. data/test/adapters/postgresql_makara.rb +2 -0
  61. data/test/adapters/seamless_database_pool.rb +2 -0
  62. data/test/adapters/spatialite.rb +2 -0
  63. data/test/adapters/sqlite3.rb +2 -0
  64. data/test/{travis → github}/database.yml +3 -1
  65. data/test/import_test.rb +45 -2
  66. data/test/jdbcmysql/import_test.rb +2 -0
  67. data/test/jdbcpostgresql/import_test.rb +2 -0
  68. data/test/jdbcsqlite3/import_test.rb +2 -0
  69. data/test/makara_postgis/import_test.rb +2 -0
  70. data/test/models/account.rb +2 -0
  71. data/test/models/alarm.rb +2 -0
  72. data/test/models/animal.rb +2 -0
  73. data/test/models/bike_maker.rb +2 -0
  74. data/test/models/book.rb +2 -0
  75. data/test/models/car.rb +2 -0
  76. data/test/models/card.rb +5 -0
  77. data/test/models/chapter.rb +2 -0
  78. data/test/models/customer.rb +8 -0
  79. data/test/models/deck.rb +8 -0
  80. data/test/models/dictionary.rb +2 -0
  81. data/test/models/discount.rb +2 -0
  82. data/test/models/end_note.rb +2 -0
  83. data/test/models/group.rb +2 -0
  84. data/test/models/order.rb +8 -0
  85. data/test/models/playing_card.rb +4 -0
  86. data/test/models/promotion.rb +2 -0
  87. data/test/models/question.rb +2 -0
  88. data/test/models/rule.rb +2 -0
  89. data/test/models/tag.rb +3 -0
  90. data/test/models/tag_alias.rb +5 -0
  91. data/test/models/topic.rb +2 -0
  92. data/test/models/user.rb +2 -0
  93. data/test/models/user_token.rb +2 -0
  94. data/test/models/vendor.rb +2 -0
  95. data/test/models/widget.rb +2 -0
  96. data/test/mysql2/import_test.rb +2 -0
  97. data/test/mysql2_makara/import_test.rb +2 -0
  98. data/test/mysqlspatial2/import_test.rb +2 -0
  99. data/test/postgis/import_test.rb +2 -0
  100. data/test/postgresql/import_test.rb +2 -0
  101. data/test/schema/generic_schema.rb +33 -0
  102. data/test/schema/jdbcpostgresql_schema.rb +2 -0
  103. data/test/schema/mysql2_schema.rb +2 -0
  104. data/test/schema/postgis_schema.rb +2 -0
  105. data/test/schema/postgresql_schema.rb +2 -0
  106. data/test/schema/sqlite3_schema.rb +2 -0
  107. data/test/schema/version.rb +2 -0
  108. data/test/sqlite3/import_test.rb +2 -0
  109. data/test/support/active_support/test_case_extensions.rb +2 -0
  110. data/test/support/assertions.rb +2 -0
  111. data/test/support/factories.rb +2 -0
  112. data/test/support/generate.rb +4 -2
  113. data/test/support/mysql/import_examples.rb +2 -1
  114. data/test/support/postgresql/import_examples.rb +65 -2
  115. data/test/support/shared_examples/on_duplicate_key_ignore.rb +2 -0
  116. data/test/support/shared_examples/on_duplicate_key_update.rb +2 -0
  117. data/test/support/shared_examples/recursive_import.rb +23 -1
  118. data/test/support/sqlite3/import_examples.rb +2 -1
  119. data/test/synchronize_test.rb +2 -0
  120. data/test/test_helper.rb +19 -2
  121. data/test/value_sets_bytes_parser_test.rb +2 -0
  122. data/test/value_sets_records_parser_test.rb +2 -0
  123. metadata +25 -15
  124. data/.travis.yml +0 -76
  125. data/gemfiles/3.2.gemfile +0 -2
  126. data/gemfiles/4.0.gemfile +0 -2
  127. data/gemfiles/4.1.gemfile +0 -2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-import
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Dennis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-15 00:00:00.000000000 Z
11
+ date: 2022-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '4.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '3.2'
26
+ version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -45,10 +45,10 @@ executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
+ - ".github/workflows/test.yaml"
48
49
  - ".gitignore"
49
50
  - ".rubocop.yml"
50
51
  - ".rubocop_todo.yml"
51
- - ".travis.yml"
52
52
  - Brewfile
53
53
  - CHANGELOG.md
54
54
  - Gemfile
@@ -68,15 +68,13 @@ files:
68
68
  - benchmarks/models/test_memory.rb
69
69
  - benchmarks/models/test_myisam.rb
70
70
  - benchmarks/schema/mysql2_schema.rb
71
- - gemfiles/3.2.gemfile
72
- - gemfiles/4.0.gemfile
73
- - gemfiles/4.1.gemfile
74
71
  - gemfiles/4.2.gemfile
75
72
  - gemfiles/5.0.gemfile
76
73
  - gemfiles/5.1.gemfile
77
74
  - gemfiles/5.2.gemfile
78
75
  - gemfiles/6.0.gemfile
79
76
  - gemfiles/6.1.gemfile
77
+ - gemfiles/7.0.gemfile
80
78
  - lib/activerecord-import.rb
81
79
  - lib/activerecord-import/active_record/adapters/abstract_adapter.rb
82
80
  - lib/activerecord-import/active_record/adapters/jdbcmysql_adapter.rb
@@ -114,6 +112,7 @@ files:
114
112
  - test/adapters/spatialite.rb
115
113
  - test/adapters/sqlite3.rb
116
114
  - test/database.yml.sample
115
+ - test/github/database.yml
117
116
  - test/import_test.rb
118
117
  - test/jdbcmysql/import_test.rb
119
118
  - test/jdbcpostgresql/import_test.rb
@@ -125,15 +124,21 @@ files:
125
124
  - test/models/bike_maker.rb
126
125
  - test/models/book.rb
127
126
  - test/models/car.rb
127
+ - test/models/card.rb
128
128
  - test/models/chapter.rb
129
+ - test/models/customer.rb
130
+ - test/models/deck.rb
129
131
  - test/models/dictionary.rb
130
132
  - test/models/discount.rb
131
133
  - test/models/end_note.rb
132
134
  - test/models/group.rb
135
+ - test/models/order.rb
136
+ - test/models/playing_card.rb
133
137
  - test/models/promotion.rb
134
138
  - test/models/question.rb
135
139
  - test/models/rule.rb
136
140
  - test/models/tag.rb
141
+ - test/models/tag_alias.rb
137
142
  - test/models/topic.rb
138
143
  - test/models/user.rb
139
144
  - test/models/user_token.rb
@@ -164,14 +169,13 @@ files:
164
169
  - test/support/sqlite3/import_examples.rb
165
170
  - test/synchronize_test.rb
166
171
  - test/test_helper.rb
167
- - test/travis/database.yml
168
172
  - test/value_sets_bytes_parser_test.rb
169
173
  - test/value_sets_records_parser_test.rb
170
174
  homepage: https://github.com/zdennis/activerecord-import
171
175
  licenses:
172
176
  - MIT
173
177
  metadata: {}
174
- post_install_message:
178
+ post_install_message:
175
179
  rdoc_options: []
176
180
  require_paths:
177
181
  - lib
@@ -179,15 +183,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
179
183
  requirements:
180
184
  - - ">="
181
185
  - !ruby/object:Gem::Version
182
- version: 2.0.0
186
+ version: 2.4.0
183
187
  required_rubygems_version: !ruby/object:Gem::Requirement
184
188
  requirements:
185
189
  - - ">="
186
190
  - !ruby/object:Gem::Version
187
191
  version: '0'
188
192
  requirements: []
189
- rubygems_version: 3.0.8
190
- signing_key:
193
+ rubygems_version: 3.0.3.1
194
+ signing_key:
191
195
  specification_version: 4
192
196
  summary: Bulk insert extension for ActiveRecord
193
197
  test_files:
@@ -205,6 +209,7 @@ test_files:
205
209
  - test/adapters/spatialite.rb
206
210
  - test/adapters/sqlite3.rb
207
211
  - test/database.yml.sample
212
+ - test/github/database.yml
208
213
  - test/import_test.rb
209
214
  - test/jdbcmysql/import_test.rb
210
215
  - test/jdbcpostgresql/import_test.rb
@@ -216,15 +221,21 @@ test_files:
216
221
  - test/models/bike_maker.rb
217
222
  - test/models/book.rb
218
223
  - test/models/car.rb
224
+ - test/models/card.rb
219
225
  - test/models/chapter.rb
226
+ - test/models/customer.rb
227
+ - test/models/deck.rb
220
228
  - test/models/dictionary.rb
221
229
  - test/models/discount.rb
222
230
  - test/models/end_note.rb
223
231
  - test/models/group.rb
232
+ - test/models/order.rb
233
+ - test/models/playing_card.rb
224
234
  - test/models/promotion.rb
225
235
  - test/models/question.rb
226
236
  - test/models/rule.rb
227
237
  - test/models/tag.rb
238
+ - test/models/tag_alias.rb
228
239
  - test/models/topic.rb
229
240
  - test/models/user.rb
230
241
  - test/models/user_token.rb
@@ -255,6 +266,5 @@ test_files:
255
266
  - test/support/sqlite3/import_examples.rb
256
267
  - test/synchronize_test.rb
257
268
  - test/test_helper.rb
258
- - test/travis/database.yml
259
269
  - test/value_sets_bytes_parser_test.rb
260
270
  - test/value_sets_records_parser_test.rb
data/.travis.yml DELETED
@@ -1,76 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- rvm:
4
- - 2.5.8
5
-
6
- env:
7
- global:
8
- # https://github.com/discourse/discourse/blob/master/.travis.yml
9
- - RUBY_GC_MALLOC_LIMIT=50000000
10
- matrix:
11
- - AR_VERSION=5.1
12
- - AR_VERSION=5.2
13
- - AR_VERSION=6.0
14
- - AR_VERSION=6.1
15
-
16
- matrix:
17
- include:
18
- - rvm: 2.3.8
19
- env: AR_VERSION=3.2
20
- - rvm: 2.3.8
21
- env: AR_VERSION=4.0
22
- - rvm: 2.3.8
23
- env: AR_VERSION=4.1
24
- - rvm: 2.3.8
25
- env: AR_VERSION=4.2
26
- - rvm: 2.3.8
27
- env: AR_VERSION=5.0
28
-
29
- fast_finish: true
30
-
31
- addons:
32
- postgresql: "10"
33
- apt:
34
- sources:
35
- - travis-ci/sqlite3
36
- - mysql-5.7-trusty
37
- packages:
38
- - sqlite3
39
- - mysql-server
40
- - mysql-client
41
- - postgresql-10-postgis-2.4
42
-
43
- before_install:
44
- - sudo apt-get update
45
- - gem update --system
46
- - sudo mysql -e "use mysql; update user set authentication_string=PASSWORD('') where User='root'; update user set plugin='mysql_native_password';FLUSH PRIVILEGES;"
47
- - sudo mysql_upgrade
48
- - sudo service mysql restart
49
-
50
- before_script:
51
- - mysql -e 'create database activerecord_import_test;'
52
- - psql -c 'create database activerecord_import_test;' -U postgres
53
- - psql activerecord_import_test -c 'create extension if not exists hstore;' -U postgres
54
- - psql -c 'create extension if not exists postgis;' -U postgres
55
- - psql -c 'create extension if not exists "uuid-ossp";' -U postgres
56
- - cp test/travis/database.yml test/database.yml
57
-
58
- script:
59
- - bundle exec rake test:mysql2
60
- - bundle exec rake test:mysql2_makara
61
- - bundle exec rake test:mysql2spatial
62
- - bundle exec rake test:postgis
63
- - bundle exec rake test:postgresql
64
- - bundle exec rake test:postgresql_makara
65
- - bundle exec rake test:seamless_database_pool
66
- - bundle exec rake test:spatialite
67
- - bundle exec rake test:sqlite3
68
- - bundle exec rubocop
69
-
70
- dist: xenial
71
-
72
- services:
73
- - mysql
74
- - postgresql
75
-
76
- sudo: required
data/gemfiles/3.2.gemfile DELETED
@@ -1,2 +0,0 @@
1
- gem 'activerecord', '~> 3.2.0'
2
- gem 'composite_primary_keys', '~> 5.0'
data/gemfiles/4.0.gemfile DELETED
@@ -1,2 +0,0 @@
1
- gem 'activerecord', '~> 4.0.0'
2
- gem 'composite_primary_keys', '~> 6.0'
data/gemfiles/4.1.gemfile DELETED
@@ -1,2 +0,0 @@
1
- gem 'activerecord', '~> 4.1.0'
2
- gem 'composite_primary_keys', '~> 7.0'