activerecord-import 2.2.0 → 2.3.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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +33 -0
  3. data/README.markdown +9 -9
  4. data/lib/activerecord-import/active_record/adapters/mysql2_proxy_adapter.rb +8 -0
  5. data/lib/activerecord-import/active_record/adapters/postgresql_proxy_adapter.rb +8 -0
  6. data/lib/activerecord-import/active_record/adapters/sqlite3_proxy_adapter.rb +8 -0
  7. data/lib/activerecord-import/active_record/adapters/trilogy_proxy_adapter.rb +8 -0
  8. data/lib/activerecord-import/adapters/active_record_proxy_adapter.rb +19 -0
  9. data/lib/activerecord-import/adapters/mysql2_proxy_adapter.rb +9 -0
  10. data/lib/activerecord-import/adapters/mysql_adapter.rb +10 -3
  11. data/lib/activerecord-import/adapters/postgresql_adapter.rb +1 -1
  12. data/lib/activerecord-import/adapters/postgresql_proxy_adapter.rb +9 -0
  13. data/lib/activerecord-import/adapters/sqlite3_proxy_adapter.rb +9 -0
  14. data/lib/activerecord-import/adapters/trilogy_proxy_adapter.rb +9 -0
  15. data/lib/activerecord-import/base.rb +0 -2
  16. data/lib/activerecord-import/import.rb +243 -207
  17. data/lib/activerecord-import/version.rb +1 -1
  18. metadata +13 -208
  19. data/.github/workflows/test.yaml +0 -165
  20. data/.gitignore +0 -37
  21. data/.rubocop.yml +0 -118
  22. data/.rubocop_todo.yml +0 -30
  23. data/Brewfile +0 -5
  24. data/Dockerfile +0 -23
  25. data/Gemfile +0 -63
  26. data/Rakefile +0 -75
  27. data/activerecord-import.gemspec +0 -28
  28. data/benchmarks/README +0 -32
  29. data/benchmarks/benchmark.rb +0 -72
  30. data/benchmarks/lib/base.rb +0 -143
  31. data/benchmarks/lib/cli_parser.rb +0 -111
  32. data/benchmarks/lib/float.rb +0 -17
  33. data/benchmarks/lib/mysql2_benchmark.rb +0 -21
  34. data/benchmarks/lib/output_to_csv.rb +0 -21
  35. data/benchmarks/lib/output_to_html.rb +0 -66
  36. data/benchmarks/models/test_innodb.rb +0 -5
  37. data/benchmarks/models/test_memory.rb +0 -5
  38. data/benchmarks/models/test_myisam.rb +0 -5
  39. data/benchmarks/schema/mysql2_schema.rb +0 -18
  40. data/docker-compose.yml +0 -34
  41. data/gemfiles/5.2.gemfile +0 -4
  42. data/gemfiles/6.0.gemfile +0 -4
  43. data/gemfiles/6.1.gemfile +0 -4
  44. data/gemfiles/7.0.gemfile +0 -4
  45. data/gemfiles/7.1.gemfile +0 -3
  46. data/gemfiles/7.2.gemfile +0 -3
  47. data/gemfiles/8.0.gemfile +0 -3
  48. data/test/adapters/janus_mysql2.rb +0 -3
  49. data/test/adapters/janus_trilogy.rb +0 -11
  50. data/test/adapters/jdbcmysql.rb +0 -3
  51. data/test/adapters/jdbcpostgresql.rb +0 -3
  52. data/test/adapters/jdbcsqlite3.rb +0 -3
  53. data/test/adapters/makara_postgis.rb +0 -3
  54. data/test/adapters/mysql2.rb +0 -3
  55. data/test/adapters/mysql2_makara.rb +0 -3
  56. data/test/adapters/mysql2_proxy.rb +0 -3
  57. data/test/adapters/mysql2spatial.rb +0 -3
  58. data/test/adapters/postgis.rb +0 -3
  59. data/test/adapters/postgresql.rb +0 -3
  60. data/test/adapters/postgresql_makara.rb +0 -3
  61. data/test/adapters/postgresql_proxy.rb +0 -3
  62. data/test/adapters/seamless_database_pool.rb +0 -3
  63. data/test/adapters/spatialite.rb +0 -3
  64. data/test/adapters/sqlite3.rb +0 -3
  65. data/test/adapters/trilogy.rb +0 -11
  66. data/test/database.yml.sample +0 -73
  67. data/test/github/database.yml +0 -85
  68. data/test/import_test.rb +0 -970
  69. data/test/janus_mysql2/import_test.rb +0 -8
  70. data/test/janus_trilogy/import_test.rb +0 -7
  71. data/test/jdbcmysql/import_test.rb +0 -7
  72. data/test/jdbcpostgresql/import_test.rb +0 -6
  73. data/test/jdbcsqlite3/import_test.rb +0 -6
  74. data/test/makara_postgis/import_test.rb +0 -10
  75. data/test/models/account.rb +0 -5
  76. data/test/models/alarm.rb +0 -4
  77. data/test/models/animal.rb +0 -8
  78. data/test/models/author.rb +0 -9
  79. data/test/models/bike_maker.rb +0 -10
  80. data/test/models/book.rb +0 -18
  81. data/test/models/car.rb +0 -5
  82. data/test/models/card.rb +0 -5
  83. data/test/models/chapter.rb +0 -6
  84. data/test/models/composite_book.rb +0 -19
  85. data/test/models/composite_chapter.rb +0 -12
  86. data/test/models/customer.rb +0 -18
  87. data/test/models/deck.rb +0 -8
  88. data/test/models/dictionary.rb +0 -6
  89. data/test/models/discount.rb +0 -5
  90. data/test/models/end_note.rb +0 -6
  91. data/test/models/group.rb +0 -5
  92. data/test/models/order.rb +0 -17
  93. data/test/models/playing_card.rb +0 -4
  94. data/test/models/promotion.rb +0 -5
  95. data/test/models/question.rb +0 -5
  96. data/test/models/rule.rb +0 -5
  97. data/test/models/tag.rb +0 -12
  98. data/test/models/tag_alias.rb +0 -11
  99. data/test/models/topic.rb +0 -31
  100. data/test/models/user.rb +0 -5
  101. data/test/models/user_token.rb +0 -6
  102. data/test/models/vendor.rb +0 -9
  103. data/test/models/widget.rb +0 -33
  104. data/test/mysql2/import_test.rb +0 -7
  105. data/test/mysql2_makara/import_test.rb +0 -8
  106. data/test/mysql2_proxy/import_test.rb +0 -6
  107. data/test/mysqlspatial2/import_test.rb +0 -8
  108. data/test/postgis/import_test.rb +0 -10
  109. data/test/postgresql/import_test.rb +0 -6
  110. data/test/postgresql_proxy/import_test.rb +0 -6
  111. data/test/schema/generic_schema.rb +0 -230
  112. data/test/schema/jdbcpostgresql_schema.rb +0 -3
  113. data/test/schema/mysql2_schema.rb +0 -21
  114. data/test/schema/postgis_schema.rb +0 -3
  115. data/test/schema/postgresql_schema.rb +0 -94
  116. data/test/schema/sqlite3_schema.rb +0 -15
  117. data/test/schema/version.rb +0 -12
  118. data/test/sqlite3/import_test.rb +0 -6
  119. data/test/support/active_support/test_case_extensions.rb +0 -73
  120. data/test/support/assertions.rb +0 -75
  121. data/test/support/factories.rb +0 -66
  122. data/test/support/generate.rb +0 -31
  123. data/test/support/mysql/import_examples.rb +0 -97
  124. data/test/support/postgresql/import_examples.rb +0 -642
  125. data/test/support/shared_examples/on_duplicate_key_ignore.rb +0 -45
  126. data/test/support/shared_examples/on_duplicate_key_update.rb +0 -437
  127. data/test/support/shared_examples/recursive_import.rb +0 -352
  128. data/test/support/sqlite3/import_examples.rb +0 -232
  129. data/test/synchronize_test.rb +0 -43
  130. data/test/test_helper.rb +0 -91
  131. data/test/trilogy/import_test.rb +0 -7
  132. data/test/value_sets_bytes_parser_test.rb +0 -106
  133. data/test/value_sets_records_parser_test.rb +0 -34
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ActiveRecord::Schema.define do
4
- create_table :test_myisam, options: 'ENGINE=MyISAM', force: true do |t|
5
- t.column :my_name, :string, null: false
6
- t.column :description, :string
7
- end
8
-
9
- create_table :test_innodb, options: 'ENGINE=InnoDb', force: true do |t|
10
- t.column :my_name, :string, null: false
11
- t.column :description, :string
12
- end
13
-
14
- create_table :test_memory, options: 'ENGINE=Memory', force: true do |t|
15
- t.column :my_name, :string, null: false
16
- t.column :description, :string
17
- end
18
- end
data/docker-compose.yml DELETED
@@ -1,34 +0,0 @@
1
- version: "3.5"
2
-
3
- services:
4
- mysql:
5
- platform: linux/x86_64
6
- image: mysql:5.7
7
- volumes:
8
- - mysql-data:/var/lib/mysql
9
- ports:
10
- - "3306:3306"
11
-
12
- postgresql:
13
- image: postgres:latest
14
- volumes:
15
- - postgresql-data:/var/lib/postgresql/data
16
- ports:
17
- - "5432:5432"
18
-
19
- app:
20
- build:
21
- context: .
22
- environment:
23
- DB_HOST: mysql
24
- AR_VERSION: 7.0
25
- volumes:
26
- - .:/usr/src/app
27
- depends_on:
28
- - mysql
29
- - postgresql
30
- command: tail -f /dev/null
31
-
32
- volumes:
33
- mysql-data:
34
- postgresql-data:
data/gemfiles/5.2.gemfile DELETED
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 5.2.0'
4
- gem 'composite_primary_keys', '~> 11.0'
data/gemfiles/6.0.gemfile DELETED
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 6.0.0'
4
- gem 'composite_primary_keys', '~> 12.0'
data/gemfiles/6.1.gemfile DELETED
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 6.1.0'
4
- gem 'composite_primary_keys', '~> 13.0'
data/gemfiles/7.0.gemfile DELETED
@@ -1,4 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 7.0.0'
4
- gem 'composite_primary_keys', '~> 14.0'
data/gemfiles/7.1.gemfile DELETED
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 7.1.0'
data/gemfiles/7.2.gemfile DELETED
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 7.2.0'
data/gemfiles/8.0.gemfile DELETED
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem 'activerecord', '~> 8.0.0'
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "mysql2"
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'logger'
4
-
5
- ENV["ARE_DB"] = "trilogy"
6
-
7
- if ENV['AR_VERSION'].to_f <= 7.0
8
- require "activerecord-trilogy-adapter"
9
- require "trilogy_adapter/connection"
10
- ActiveRecord::Base.extend TrilogyAdapter::Connection
11
- end
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "jdbcmysql"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "jdbcpostgresql"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "jdbcsqlite3"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "postgis"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "mysql2"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "mysql2_makara"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "mysql2"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "mysql2spatial"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "postgis"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "postgresql"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "postgresql"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "postgresql"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "seamless_database_pool"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "spatialite"
@@ -1,3 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ENV["ARE_DB"] = "sqlite3"
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'logger'
4
-
5
- ENV["ARE_DB"] = "trilogy"
6
-
7
- if ENV['AR_VERSION'].to_f <= 7.0
8
- require "activerecord-trilogy-adapter"
9
- require "trilogy_adapter/connection"
10
- ActiveRecord::Base.extend TrilogyAdapter::Connection
11
- end
@@ -1,73 +0,0 @@
1
- common: &common
2
- username: root
3
- password:
4
- encoding: utf8
5
- host: localhost
6
- database: activerecord_import_test
7
-
8
- mysql2: &mysql2
9
- <<: *common
10
- adapter: mysql2
11
- host: mysql
12
-
13
- mysql2spatial:
14
- <<: *mysql2
15
-
16
- mysql2_makara:
17
- <<: *mysql2
18
-
19
- mysql2_proxy:
20
- <<: *mysql2
21
-
22
- janus_mysql2:
23
- <<: *mysql2
24
-
25
- postgresql: &postgresql
26
- <<: *common
27
- username: postgres
28
- adapter: postgresql
29
- host: postgresql
30
- min_messages: warning
31
-
32
- postresql_makara:
33
- <<: *postgresql
34
-
35
- postresql_proxy:
36
- <<: *postgresql
37
-
38
- postgis:
39
- <<: *postgresql
40
-
41
- oracle:
42
- <<: *common
43
- adapter: oracle
44
- min_messages: debug
45
-
46
- seamless_database_pool:
47
- <<: *common
48
- adapter: seamless_database_pool
49
- prepared_statements: false
50
- pool_adapter: mysql2
51
- master:
52
- host: localhost
53
-
54
- sqlite:
55
- adapter: sqlite
56
- dbfile: test.db
57
-
58
- sqlite3: &sqlite3
59
- adapter: sqlite3
60
- database: test.db
61
-
62
- spatialite:
63
- <<: *sqlite3
64
-
65
- trilogy:
66
- <<: *common
67
- adapter: trilogy
68
- host: mysql
69
-
70
- janus_trilogy:
71
- <<: *common
72
- adapter: trilogy
73
- host: mysql
@@ -1,85 +0,0 @@
1
- common: &common
2
- username: root
3
- password: root
4
- encoding: utf8
5
- collation: utf8_general_ci
6
- host: 127.0.0.1
7
- database: activerecord_import_test
8
-
9
- jdbcpostgresql: &postgresql
10
- <<: *common
11
- username: postgres
12
- adapter: jdbcpostgresql
13
- min_messages: warning
14
-
15
- jdbcmysql: &mysql2
16
- <<: *common
17
- adapter: jdbcmysql
18
-
19
- jdbcsqlite3: &sqlite3
20
- <<: *common
21
- adapter: jdbcsqlite3
22
-
23
- mysql2: &mysql2
24
- <<: *common
25
- adapter: mysql2
26
-
27
- mysql2spatial:
28
- <<: *mysql2
29
-
30
- mysql2_makara:
31
- <<: *mysql2
32
-
33
- mysql2_proxy:
34
- <<: *mysql2
35
-
36
- janus_mysql2:
37
- <<: *mysql2
38
-
39
- oracle:
40
- <<: *common
41
- adapter: oracle
42
- min_messages: debug
43
-
44
- postgresql: &postgresql
45
- <<: *common
46
- username: postgres
47
- password: postgres
48
- adapter: postgresql
49
- min_messages: warning
50
-
51
- postresql_makara:
52
- <<: *postgresql
53
-
54
- postresql_proxy:
55
- <<: *postgresql
56
-
57
- postgis:
58
- <<: *postgresql
59
-
60
- seamless_database_pool:
61
- <<: *common
62
- adapter: seamless_database_pool
63
- pool_adapter: mysql2
64
- prepared_statements: false
65
- master:
66
- host: 127.0.0.1
67
-
68
- sqlite:
69
- adapter: sqlite
70
- dbfile: test.db
71
-
72
- sqlite3: &sqlite3
73
- adapter: sqlite3
74
- database: ":memory:"
75
-
76
- spatialite:
77
- <<: *sqlite3
78
-
79
- trilogy:
80
- <<: *common
81
- adapter: trilogy
82
-
83
- janus_trilogy:
84
- <<: *common
85
- adapter: trilogy