activerecord-spanner-adapter 2.6.0 → 2.7.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 (81) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/acceptance-tests-on-emulator.yaml +9 -13
  3. data/.github/workflows/acceptance-tests-on-production.yaml +4 -3
  4. data/.github/workflows/ci.yaml +8 -12
  5. data/.github/workflows/nightly-acceptance-tests-on-emulator.yaml +9 -13
  6. data/.github/workflows/nightly-acceptance-tests-on-production.yaml +4 -3
  7. data/.github/workflows/nightly-unit-tests.yaml +8 -12
  8. data/.github/workflows/rubocop.yaml +3 -3
  9. data/.github/workflows/samples.yaml +8 -12
  10. data/.gitignore +0 -1
  11. data/.release-please-manifest.json +1 -1
  12. data/.rubocop.yml +2 -0
  13. data/Appraisals +15 -0
  14. data/CHANGELOG.md +13 -0
  15. data/Gemfile +12 -22
  16. data/Gemfile.lock +479 -0
  17. data/acceptance/cases/migration/change_table_test.rb +4 -14
  18. data/acceptance/cases/models/generated_column_test.rb +8 -26
  19. data/acceptance/test_helper.rb +10 -22
  20. data/activerecord-spanner-adapter.gemspec +2 -1
  21. data/benchmarks/db/migrate/01_create_tables.rb +1 -1
  22. data/examples/rails/README.md +1 -1
  23. data/examples/snippets/Rakefile +0 -7
  24. data/examples/snippets/array-data-type/db/migrate/01_create_tables.rb +1 -1
  25. data/examples/snippets/batch-dml/db/migrate/01_create_tables.rb +1 -1
  26. data/examples/snippets/bulk-insert/db/migrate/01_create_tables.rb +1 -1
  27. data/examples/snippets/commit-timestamp/db/migrate/01_create_tables.rb +1 -1
  28. data/examples/snippets/create-records/db/migrate/01_create_tables.rb +1 -1
  29. data/examples/snippets/date-data-type/db/migrate/01_create_tables.rb +1 -1
  30. data/examples/snippets/generated-column/db/migrate/01_create_tables.rb +1 -1
  31. data/examples/snippets/hints/db/migrate/01_create_tables.rb +1 -1
  32. data/examples/snippets/interleaved-tables/README.md +2 -5
  33. data/examples/snippets/isolation-level/db/migrate/01_create_tables.rb +1 -1
  34. data/examples/snippets/migrations/db/migrate/01_create_tables.rb +1 -1
  35. data/examples/snippets/mutations/db/migrate/01_create_tables.rb +1 -1
  36. data/examples/snippets/optimistic-locking/db/migrate/01_create_tables.rb +1 -1
  37. data/examples/snippets/partitioned-dml/db/migrate/01_create_tables.rb +1 -1
  38. data/examples/snippets/query-logs/application.rb +3 -3
  39. data/examples/snippets/query-logs/db/migrate/01_create_tables.rb +1 -1
  40. data/examples/snippets/quickstart/db/migrate/01_create_tables.rb +1 -1
  41. data/examples/snippets/read-only-transactions/db/migrate/01_create_tables.rb +1 -1
  42. data/examples/snippets/read-write-transactions/db/migrate/01_create_tables.rb +1 -1
  43. data/examples/snippets/stale-reads/db/migrate/01_create_tables.rb +1 -1
  44. data/examples/snippets/tags/db/migrate/01_create_tables.rb +1 -1
  45. data/examples/snippets/timestamp-data-type/db/migrate/01_create_tables.rb +1 -1
  46. data/gemfiles/7.1.gemfile +18 -0
  47. data/gemfiles/7.1.gemfile.lock +389 -0
  48. data/gemfiles/7.2.gemfile +18 -0
  49. data/gemfiles/7.2.gemfile.lock +479 -0
  50. data/gemfiles/8.0.gemfile +18 -0
  51. data/gemfiles/8.0.gemfile.lock +480 -0
  52. data/gemfiles/8.1.gemfile +18 -0
  53. data/gemfiles/8.1.gemfile.lock +478 -0
  54. data/lib/active_record/connection_adapters/spanner/database_statements.rb +62 -95
  55. data/lib/active_record/connection_adapters/spanner/quoting.rb +0 -22
  56. data/lib/active_record/connection_adapters/spanner/schema_creation.rb +3 -15
  57. data/lib/active_record/connection_adapters/spanner/schema_statements.rb +0 -4
  58. data/lib/active_record/connection_adapters/spanner_adapter.rb +12 -14
  59. data/lib/active_record/type/spanner/spanner_active_record_converter.rb +33 -2
  60. data/lib/activerecord_spanner_adapter/base.rb +5 -27
  61. data/lib/activerecord_spanner_adapter/connection.rb +0 -20
  62. data/lib/activerecord_spanner_adapter/information_schema.rb +1 -4
  63. data/lib/activerecord_spanner_adapter/table.rb +0 -22
  64. data/lib/activerecord_spanner_adapter/version.rb +1 -1
  65. data/lib/arel/visitors/spanner.rb +12 -15
  66. data/lib/spanner_client_ext.rb +6 -2
  67. metadata +27 -17
  68. data/acceptance/cases/interleaved_associations/has_many_associations_using_interleaved_test.rb +0 -221
  69. data/acceptance/cases/models/interleave_test.rb +0 -113
  70. data/acceptance/cases/transactions/optimistic_locking_test.rb +0 -152
  71. data/acceptance/models/album.rb +0 -15
  72. data/acceptance/models/track.rb +0 -23
  73. data/examples/snippets/interleaved-tables-before-7.1/README.md +0 -167
  74. data/examples/snippets/interleaved-tables-before-7.1/Rakefile +0 -13
  75. data/examples/snippets/interleaved-tables-before-7.1/application.rb +0 -122
  76. data/examples/snippets/interleaved-tables-before-7.1/config/database.yml +0 -9
  77. data/examples/snippets/interleaved-tables-before-7.1/db/migrate/01_create_tables.rb +0 -44
  78. data/examples/snippets/interleaved-tables-before-7.1/db/seeds.rb +0 -40
  79. data/examples/snippets/interleaved-tables-before-7.1/models/album.rb +0 -20
  80. data/examples/snippets/interleaved-tables-before-7.1/models/singer.rb +0 -18
  81. data/examples/snippets/interleaved-tables-before-7.1/models/track.rb +0 -28
data/Gemfile.lock ADDED
@@ -0,0 +1,479 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ activerecord-spanner-adapter (2.7.0)
5
+ activerecord (>= 7.1, < 9)
6
+ google-cloud-spanner (~> 2.25)
7
+ google-cloud-spanner-v1 (~> 1.7)
8
+
9
+ GEM
10
+ remote: https://rubygems.org/
11
+ specs:
12
+ activemodel (7.1.6)
13
+ activesupport (= 7.1.6)
14
+ activerecord (7.1.6)
15
+ activemodel (= 7.1.6)
16
+ activesupport (= 7.1.6)
17
+ timeout (>= 0.4.0)
18
+ activesupport (7.1.6)
19
+ base64
20
+ benchmark (>= 0.3)
21
+ bigdecimal
22
+ concurrent-ruby (~> 1.0, >= 1.0.2)
23
+ connection_pool (>= 2.2.5)
24
+ drb
25
+ i18n (>= 1.6, < 2)
26
+ logger (>= 1.4.2)
27
+ minitest (>= 5.1)
28
+ mutex_m
29
+ securerandom (>= 0.3)
30
+ tzinfo (~> 2.0)
31
+ addressable (2.9.0)
32
+ public_suffix (>= 2.0.2, < 8.0)
33
+ appraisal (2.5.0)
34
+ bundler
35
+ rake
36
+ thor (>= 0.14.0)
37
+ ast (2.4.3)
38
+ autotest-suffix (1.1.0)
39
+ base64 (0.3.0)
40
+ benchmark (0.5.0)
41
+ bigdecimal (3.3.1)
42
+ byebug (13.0.0)
43
+ reline (>= 0.6.0)
44
+ coderay (1.1.3)
45
+ concurrent-ruby (1.3.8)
46
+ connection_pool (3.0.2)
47
+ docile (1.4.1)
48
+ docker-api (2.4.0)
49
+ excon (>= 0.64.0)
50
+ multi_json
51
+ drb (2.2.3)
52
+ erb (6.0.7)
53
+ excon (1.7.0)
54
+ logger
55
+ faraday (2.14.3)
56
+ faraday-net_http (>= 2.0, < 3.5)
57
+ json
58
+ logger
59
+ faraday-net_http (3.4.4)
60
+ net-http (~> 0.5)
61
+ faraday-retry (2.4.0)
62
+ faraday (~> 2.0)
63
+ gapic-common (1.3.0)
64
+ faraday (>= 1.9, < 3.a)
65
+ faraday-retry (>= 1.0, < 3.a)
66
+ google-cloud-env (~> 2.2)
67
+ google-logging-utils (~> 0.1)
68
+ google-protobuf (~> 4.26)
69
+ googleapis-common-protos (~> 1.6)
70
+ googleapis-common-protos-types (~> 1.15)
71
+ googleauth (~> 1.12)
72
+ grpc (~> 1.66)
73
+ google-cloud-core (1.9.0)
74
+ google-cloud-env (>= 1.0, < 3.a)
75
+ google-cloud-errors (~> 1.0)
76
+ google-cloud-env (2.4.0)
77
+ base64 (~> 0.2)
78
+ faraday (>= 1.0, < 3.a)
79
+ google-cloud-errors (1.7.0)
80
+ google-cloud-spanner (2.36.0)
81
+ bigdecimal (~> 3.0)
82
+ concurrent-ruby (~> 1.0)
83
+ google-cloud-core (~> 1.7)
84
+ google-cloud-spanner-admin-database-v1 (~> 1.4)
85
+ google-cloud-spanner-admin-instance-v1 (~> 1.6)
86
+ google-cloud-spanner-v1 (~> 1.6)
87
+ google-cloud-spanner-admin-database-v1 (1.6.1)
88
+ gapic-common (>= 0.25.0, < 2.a)
89
+ google-cloud-errors (~> 1.0)
90
+ grpc-google-iam-v1 (~> 1.1)
91
+ google-cloud-spanner-admin-instance-v1 (1.6.0)
92
+ gapic-common (>= 0.25.0, < 2.a)
93
+ google-cloud-errors (~> 1.0)
94
+ grpc-google-iam-v1 (~> 1.1)
95
+ google-cloud-spanner-v1 (1.19.1)
96
+ gapic-common (~> 1.3)
97
+ google-cloud-errors (~> 1.0)
98
+ google-logging-utils (0.2.0)
99
+ google-protobuf (4.35.1)
100
+ bigdecimal
101
+ rake (~> 13.3)
102
+ google-protobuf (4.35.1-aarch64-linux-gnu)
103
+ bigdecimal
104
+ rake (~> 13.3)
105
+ google-protobuf (4.35.1-aarch64-linux-musl)
106
+ bigdecimal
107
+ rake (~> 13.3)
108
+ google-protobuf (4.35.1-arm64-darwin)
109
+ bigdecimal
110
+ rake (~> 13.3)
111
+ google-protobuf (4.35.1-x86-linux-gnu)
112
+ bigdecimal
113
+ rake (~> 13.3)
114
+ google-protobuf (4.35.1-x86-linux-musl)
115
+ bigdecimal
116
+ rake (~> 13.3)
117
+ google-protobuf (4.35.1-x86_64-darwin)
118
+ bigdecimal
119
+ rake (~> 13.3)
120
+ google-protobuf (4.35.1-x86_64-linux-gnu)
121
+ bigdecimal
122
+ rake (~> 13.3)
123
+ google-protobuf (4.35.1-x86_64-linux-musl)
124
+ bigdecimal
125
+ rake (~> 13.3)
126
+ google-style (1.32.0)
127
+ rubocop (~> 1.76)
128
+ googleapis-common-protos (1.10.0)
129
+ google-protobuf (~> 4.26)
130
+ googleapis-common-protos-types (~> 1.21)
131
+ grpc (~> 1.41)
132
+ googleapis-common-protos-types (1.23.0)
133
+ google-protobuf (~> 4.26)
134
+ googleauth (1.17.3)
135
+ faraday (>= 1.0, < 3.a)
136
+ google-cloud-env (~> 2.2)
137
+ google-logging-utils (~> 0.1)
138
+ jwt (>= 1.4, < 4.0)
139
+ os (>= 0.9, < 2.0)
140
+ pstore (~> 0.1)
141
+ signet (>= 0.16, < 2.a)
142
+ grpc (1.83.0)
143
+ google-protobuf (>= 3.25, < 5.0)
144
+ googleapis-common-protos-types (~> 1.0)
145
+ grpc (1.83.0-aarch64-linux-gnu)
146
+ google-protobuf (>= 3.25, < 5.0)
147
+ googleapis-common-protos-types (~> 1.0)
148
+ grpc (1.83.0-aarch64-linux-musl)
149
+ google-protobuf (>= 3.25, < 5.0)
150
+ googleapis-common-protos-types (~> 1.0)
151
+ grpc (1.83.0-arm64-darwin)
152
+ google-protobuf (>= 3.25, < 5.0)
153
+ googleapis-common-protos-types (~> 1.0)
154
+ grpc (1.83.0-x86-linux-gnu)
155
+ google-protobuf (>= 3.25, < 5.0)
156
+ googleapis-common-protos-types (~> 1.0)
157
+ grpc (1.83.0-x86-linux-musl)
158
+ google-protobuf (>= 3.25, < 5.0)
159
+ googleapis-common-protos-types (~> 1.0)
160
+ grpc (1.83.0-x86_64-darwin)
161
+ google-protobuf (>= 3.25, < 5.0)
162
+ googleapis-common-protos-types (~> 1.0)
163
+ grpc (1.83.0-x86_64-linux-gnu)
164
+ google-protobuf (>= 3.25, < 5.0)
165
+ googleapis-common-protos-types (~> 1.0)
166
+ grpc (1.83.0-x86_64-linux-musl)
167
+ google-protobuf (>= 3.25, < 5.0)
168
+ googleapis-common-protos-types (~> 1.0)
169
+ grpc-google-iam-v1 (1.10.0)
170
+ google-protobuf (>= 3.18, < 5.a)
171
+ googleapis-common-protos (~> 1.4)
172
+ grpc (~> 1.41)
173
+ i18n (1.15.2)
174
+ concurrent-ruby (~> 1.0)
175
+ io-console (0.9.2)
176
+ irb (1.18.0)
177
+ pp (>= 0.6.0)
178
+ prism (>= 1.3.0)
179
+ rdoc (>= 4.0.0)
180
+ reline (>= 0.4.2)
181
+ json (2.21.2)
182
+ jwt (3.2.0)
183
+ base64
184
+ language_server-protocol (3.17.0.6)
185
+ lint_roller (1.1.0)
186
+ logger (1.7.0)
187
+ method_source (1.1.0)
188
+ minitest (5.27.0)
189
+ minitest-autotest (1.2.0)
190
+ minitest-server (~> 1.0)
191
+ path_expander (~> 2.0)
192
+ minitest-focus (1.4.1)
193
+ minitest (> 5.0)
194
+ minitest-rg (5.4.0)
195
+ minitest (>= 5.0, < 7)
196
+ minitest-server (1.0.10)
197
+ drb (~> 2.0)
198
+ minitest (~> 5.16)
199
+ multi_json (1.21.1)
200
+ mustermann (3.1.1)
201
+ mutex_m (0.3.0)
202
+ net-http (0.9.1)
203
+ uri (>= 0.11.1)
204
+ os (1.1.4)
205
+ ostruct (0.6.3)
206
+ parallel (2.1.0)
207
+ parser (3.3.12.0)
208
+ ast (~> 2.4.1)
209
+ racc
210
+ path_expander (2.0.1)
211
+ pp (0.6.4)
212
+ prettyprint
213
+ prettyprint (0.2.0)
214
+ prism (1.9.0)
215
+ pry (0.16.0)
216
+ coderay (~> 1.1)
217
+ method_source (~> 1.0)
218
+ reline (>= 0.6.0)
219
+ pry-byebug (3.12.0)
220
+ byebug (~> 13.0)
221
+ pry (>= 0.13, < 0.17)
222
+ pstore (0.2.1)
223
+ public_suffix (7.0.5)
224
+ racc (1.8.1)
225
+ rack (3.2.7)
226
+ rack-protection (4.2.1)
227
+ base64 (>= 0.1.0)
228
+ logger (>= 1.6.0)
229
+ rack (>= 3.0.0, < 4)
230
+ rack-session (2.1.2)
231
+ base64 (>= 0.1.0)
232
+ rack (>= 3.0.0)
233
+ rainbow (3.1.1)
234
+ rake (13.4.2)
235
+ rbs (4.1.3)
236
+ logger
237
+ prism (>= 1.6.0)
238
+ tsort
239
+ rdoc (8.0.0)
240
+ erb
241
+ prism (>= 1.6.0)
242
+ rbs (>= 4.0.0)
243
+ tsort
244
+ readline (0.0.4)
245
+ reline
246
+ redcarpet (3.6.1)
247
+ regexp_parser (2.12.0)
248
+ reline (0.7.0)
249
+ io-console (~> 0.5)
250
+ rubocop (1.89.0)
251
+ json (~> 2.3)
252
+ language_server-protocol (~> 3.17.0.2)
253
+ lint_roller (~> 1.1.0)
254
+ parallel (>= 1.10)
255
+ parser (>= 3.3.0.2)
256
+ rainbow (>= 2.2.2, < 4.0)
257
+ regexp_parser (>= 2.9.3, < 3.0)
258
+ rubocop-ast (>= 1.49.0, < 2.0)
259
+ ruby-progressbar (~> 1.7)
260
+ unicode-display_width (>= 2.4.0, < 4.0)
261
+ rubocop-ast (1.50.0)
262
+ parser (>= 3.3.7.2)
263
+ prism (~> 1.7)
264
+ ruby-progressbar (1.13.0)
265
+ securerandom (0.4.1)
266
+ signet (0.22.0)
267
+ addressable (~> 2.8)
268
+ faraday (>= 0.17.5, < 3.a)
269
+ jwt (>= 1.5, < 4.0)
270
+ simplecov (0.22.0)
271
+ docile (~> 1.1)
272
+ simplecov-html (~> 0.11)
273
+ simplecov_json_formatter (~> 0.1)
274
+ simplecov-html (0.13.2)
275
+ simplecov_json_formatter (0.1.4)
276
+ sinatra (4.2.1)
277
+ logger (>= 1.6.0)
278
+ mustermann (~> 3.0)
279
+ rack (>= 3.0.0, < 4)
280
+ rack-protection (= 4.2.1)
281
+ rack-session (>= 2.0.0, < 3)
282
+ tilt (~> 2.0)
283
+ sinatra-activerecord (2.0.28)
284
+ activerecord (>= 4.1)
285
+ sinatra (>= 1.0)
286
+ sqlite3 (2.9.6-aarch64-linux-gnu)
287
+ sqlite3 (2.9.6-aarch64-linux-musl)
288
+ sqlite3 (2.9.6-arm-linux-gnu)
289
+ sqlite3 (2.9.6-arm-linux-musl)
290
+ sqlite3 (2.9.6-arm64-darwin)
291
+ sqlite3 (2.9.6-x86-linux-gnu)
292
+ sqlite3 (2.9.6-x86-linux-musl)
293
+ sqlite3 (2.9.6-x86_64-darwin)
294
+ sqlite3 (2.9.6-x86_64-linux-gnu)
295
+ sqlite3 (2.9.6-x86_64-linux-musl)
296
+ thor (1.5.0)
297
+ tilt (2.9.0)
298
+ timeout (0.6.1)
299
+ tsort (0.2.0)
300
+ tzinfo (2.0.6)
301
+ concurrent-ruby (~> 1.0)
302
+ unicode-display_width (3.2.0)
303
+ unicode-emoji (~> 4.1)
304
+ unicode-emoji (4.2.0)
305
+ uri (1.1.1)
306
+ yard (0.9.45)
307
+ yard-doctest (0.1.17)
308
+ minitest
309
+ yard
310
+
311
+ PLATFORMS
312
+ aarch64-linux-gnu
313
+ aarch64-linux-musl
314
+ arm-linux-gnu
315
+ arm-linux-musl
316
+ arm64-darwin
317
+ x86-linux-gnu
318
+ x86-linux-musl
319
+ x86_64-darwin
320
+ x86_64-linux-gnu
321
+ x86_64-linux-musl
322
+
323
+ DEPENDENCIES
324
+ activerecord (~> 7.1.0)
325
+ activerecord-spanner-adapter!
326
+ appraisal (~> 2.5)
327
+ autotest-suffix (~> 1.1)
328
+ bundler (>= 2.0, < 5.0)
329
+ docker-api
330
+ google-style (~> 1.32.0)
331
+ irb
332
+ minitest (~> 5.27.0)
333
+ minitest-autotest (~> 1.0)
334
+ minitest-focus (~> 1.1)
335
+ minitest-rg (~> 5.4.0)
336
+ mutex_m
337
+ ostruct
338
+ pry (~> 0.16.0)
339
+ pry-byebug (~> 3.12.0)
340
+ rake (~> 13.0)
341
+ readline
342
+ redcarpet (~> 3.0)
343
+ simplecov (~> 0.9)
344
+ sinatra-activerecord
345
+ sqlite3
346
+ yard (~> 0.9)
347
+ yard-doctest (~> 0.1.13)
348
+
349
+ CHECKSUMS
350
+ activemodel (7.1.6) sha256=f72f510018a560b5969e3ffc88214441ff09eed60b310feba678a597b2a2e721
351
+ activerecord (7.1.6) sha256=1aa298cd7fc97ed8639ebb05a46bd17243a1218d89945bdc2bac1e61e673f079
352
+ activerecord-spanner-adapter (2.7.0)
353
+ activesupport (7.1.6) sha256=7f12140a813b1c4922a322663e547129aef1840fc512fa262378f6d7e7fd3a7c
354
+ addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
355
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
356
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
357
+ autotest-suffix (1.1.0) sha256=9bb29331b7b66a9659b01ef10839bd61fc1a6e95477c8ea710bd01e10c380977
358
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
359
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
360
+ bigdecimal (3.3.1) sha256=eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218
361
+ byebug (13.0.0) sha256=d2263efe751941ca520fa29744b71972d39cbc41839496706f5d9b22e92ae05d
362
+ coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b
363
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
364
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
365
+ docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e
366
+ docker-api (2.4.0) sha256=824be734f4cc8718189be9c8e795b6414acbbf7e8b082a06f959a27dd8dd63e6
367
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
368
+ erb (6.0.7) sha256=c5ca6dc25b0ef974a44dc8f59fe847577122483b1968a38dec305c60bf91ee92
369
+ excon (1.7.0) sha256=b8deec2bf978123b7e4b13a103ffec61557c6feaba34706dbc1ce4a94dec33e0
370
+ faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278
371
+ faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588
372
+ faraday-retry (2.4.0) sha256=7b79c48fb7e56526faf247b12d94a680071ff40c9fda7cf1ec1549439ad11ebe
373
+ gapic-common (1.3.0) sha256=4e5d9be1effb7366e2cda13c0f44922285d5613ac8de8b9b18c2c835fe4faa91
374
+ google-cloud-core (1.9.0) sha256=ab55409f51488e8deefb6edcc1ce4771dfb5da2fe7b3bc075709a030c2b682a4
375
+ google-cloud-env (2.4.0) sha256=01cb35ecee5d1c4d1cd4deaed8bb5bddc838e296bcc2a35c5d1ddd07ce40d28d
376
+ google-cloud-errors (1.7.0) sha256=6e682f42d89aae08689f36f28495de629d756da076bafff0003bac7f8042ebb3
377
+ google-cloud-spanner (2.36.0) sha256=91abbf55d6ce8e054edd838977a907152ff9ff491f34690409bbe6b9a82c0c5c
378
+ google-cloud-spanner-admin-database-v1 (1.6.1) sha256=6b8758e4def80d69e9ee64a42078d3a59ab028a638f7a849abd8130cf85add9b
379
+ google-cloud-spanner-admin-instance-v1 (1.6.0) sha256=1775b56518665854b27af393378761e6ff9b12156d746168df7bb14ce0138d54
380
+ google-cloud-spanner-v1 (1.19.1) sha256=31e488417c9d41dc21aeaae55193a2d5e5250fdc84de70a1d841d18929c3b648
381
+ google-logging-utils (0.2.0) sha256=675462b4ea5affa825a3442694ca2d75d0069455a1d0956127207498fca3df7b
382
+ google-protobuf (4.35.1) sha256=a3a6471331d918f58dfa4d014a8f6286f0af2cf4840216bde52fcf2ea3fe3726
383
+ google-protobuf (4.35.1-aarch64-linux-gnu) sha256=50ca44d0eeff3f8475e630a1accdd974256f3510694d574e2c9d6119ea8bc9e1
384
+ google-protobuf (4.35.1-aarch64-linux-musl) sha256=d5c65cef6bd6498a9e5ed5f88cf6cf7e341c10b0a005e32137d5d1a2b6e8c18a
385
+ google-protobuf (4.35.1-arm64-darwin) sha256=d9c957df04fa89c749fa9a72a7b383eb4296efc9b2303dc6fd6fbe39c698ad6b
386
+ google-protobuf (4.35.1-x86-linux-gnu) sha256=cc7492566b27ad8b5dfa3a7b6f9b11e905050cc53c2fa8ff22de375a9e7a70fb
387
+ google-protobuf (4.35.1-x86-linux-musl) sha256=ab403790b59e4dc588ffbed1eaacf05d4ca2f0d12ac9c13d6c64e69380d8c99e
388
+ google-protobuf (4.35.1-x86_64-darwin) sha256=66b62b4df00931018a692806df66393efa960d6d2b7da69735187249f950d3ee
389
+ google-protobuf (4.35.1-x86_64-linux-gnu) sha256=c786439087512a3fbd199e9897d265b855f951d4027e218ea55e858d45969edd
390
+ google-protobuf (4.35.1-x86_64-linux-musl) sha256=91890eb0002934a339fdb7d77a147c46b7474b6799db27872b747b905837f744
391
+ google-style (1.32.0) sha256=3b13068979e5b8caa067ecce9bf818b6cf0e5eb706ead41c5b905f237d9bfb01
392
+ googleapis-common-protos (1.10.0) sha256=13e47ad0ce85d3d30065c03863efd302a82b0e08ba576f2a9b9dbbfeecb57ee0
393
+ googleapis-common-protos-types (1.23.0) sha256=992e740a523794d9fc5f29a504465d8fc737aaa16c930fe7228e3346860faf0a
394
+ googleauth (1.17.3) sha256=9a655455885c0c17a8b70537acd2a992a7c7842c43c06c6612dfb0d93e755d58
395
+ grpc (1.83.0) sha256=38119e7f9f7cbc98e79145201da4be470a7542b0befad454651d35015ea55c59
396
+ grpc (1.83.0-aarch64-linux-gnu) sha256=11562efdded494b2277fd9c3c530dfdf90177faa111526ae9e748d0be29f1a9d
397
+ grpc (1.83.0-aarch64-linux-musl) sha256=ee745eab4f3922ed27d379cbc4bc0a99e58db367fa96312e9fe258aafd3afeb2
398
+ grpc (1.83.0-arm64-darwin) sha256=25dd772aa80529f014d70da069787cd39b469c9edacbe493da4ff19952a147e2
399
+ grpc (1.83.0-x86-linux-gnu) sha256=e9b20f54b8e8915f3921f12b266742e79da2c31d60e88295e15d0d16ea3cfd55
400
+ grpc (1.83.0-x86-linux-musl) sha256=868e66d9c2a77eca1a93292fd879565219821fb5888673aedd08154303c9520c
401
+ grpc (1.83.0-x86_64-darwin) sha256=cfad91d559d1907159a5247fb12dc112a8ea0ebe2027ca7f5ab648d01a645716
402
+ grpc (1.83.0-x86_64-linux-gnu) sha256=25d66bfa3cb1b05258b3f9632478c7e7ceb52cb16ccc0b4b26d7df36be7158b1
403
+ grpc (1.83.0-x86_64-linux-musl) sha256=a5023264dbb8038c23b147bbf80adb06932ef11b5ab493412e9e37a43114fa8c
404
+ grpc-google-iam-v1 (1.10.0) sha256=13a4ace4f7495b913f202880a5431f7e53633af3dd6d7df8c4224bd2dac23a9a
405
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
406
+ io-console (0.9.2) sha256=efa74f891dd03c0939a931dfc6e74c2813d904763d456ea9762b0525e748db08
407
+ irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
408
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
409
+ jwt (3.2.0) sha256=5419b1fe37b1da0982bd07051f573a8b8789ab724c2aa7e785e4784a3ed217d7
410
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
411
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
412
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
413
+ method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5
414
+ minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
415
+ minitest-autotest (1.2.0) sha256=60d031cba705215450662b0060f03f96507682b346a19c27f6756751ad92d2b4
416
+ minitest-focus (1.4.1) sha256=394517cbe2dcb2d992d8ffc41a3b2b6315777a4daa69239de4fefe7110dd810e
417
+ minitest-rg (5.4.0) sha256=54d42bb8ce876381245be5866f3c1dd704ef79c06ba5c9ff280c0aa28c56effb
418
+ minitest-server (1.0.10) sha256=275439bf3ffc433fcbe161733248f1d9749ebf122892cf010bf864aaa95cef75
419
+ multi_json (1.21.1) sha256=e6126a31808e3b4d19f483c775ceac34df190dffa62adfb63a165ee14ba68080
420
+ mustermann (3.1.1) sha256=4c6170c7234d5499c345562ba7c7dfe73e1754286dcc1abb053064d66a127198
421
+ mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
422
+ net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996
423
+ os (1.1.4) sha256=57816d6a334e7bd6aed048f4b0308226c5fb027433b67d90a9ab435f35108d3f
424
+ ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912
425
+ parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
426
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
427
+ path_expander (2.0.1) sha256=2de201164bff4719cc4d0b3767286e9977cc832a59c4d70abab571ec86cb41e4
428
+ pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
429
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
430
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
431
+ pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e
432
+ pry-byebug (3.12.0) sha256=594e094ae8a8390a7ad4c7b36ae36e13304ed02664c67417d108dc5f7213d1b7
433
+ pstore (0.2.1) sha256=03904d0f2c66579e96d1e6704cdabc0c88df7ea8ed8782d9f3569f6f6c702c1a
434
+ public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
435
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
436
+ rack (3.2.7) sha256=93e13e1c24f93556671d85d2d79fa228c3485815c50d7e2f265b5330c6528fb7
437
+ rack-protection (4.2.1) sha256=cf6e2842df8c55f5e4d1a4be015e603e19e9bc3a7178bae58949ccbb58558bac
438
+ rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
439
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
440
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
441
+ rbs (4.1.3) sha256=0c4474a9751cdc14364bfad0b3e53678323bbdc2c31683b0445932867dbab8c4
442
+ rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
443
+ readline (0.0.4) sha256=6138eef17be2b98298b672c3ea63bf9cb5158d401324f26e1e84f235879c1d6a
444
+ redcarpet (3.6.1) sha256=d444910e6aa55480c6bcdc0cdb057626e8a32c054c29e793fa642ba2f155f445
445
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
446
+ reline (0.7.0) sha256=5b012d8e55dbf9d450f12bde2cf7d15ff546ae80b3f8f3b30e570d431815583d
447
+ rubocop (1.89.0) sha256=4dee8e3ee9c45e474834efd9e8d6fd031e8331c8dacdff0de4ad65ae0a6faae7
448
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
449
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
450
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
451
+ signet (0.22.0) sha256=b76d495ccb07ad35dbc89f3e920665a9d8ed717141955034005d7843dcfe4780
452
+ simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5
453
+ simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246
454
+ simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428
455
+ sinatra (4.2.1) sha256=b7aeb9b11d046b552972ade834f1f9be98b185fa8444480688e3627625377080
456
+ sinatra-activerecord (2.0.28) sha256=99f352c2dfa244d02b4f877efbe00135360b758390b8bb7bc2d4d91171c93811
457
+ sqlite3 (2.9.6-aarch64-linux-gnu) sha256=d8b1f7d23efd7abac285775a9566562fc7debfef79d594e3a20354406fb7907c
458
+ sqlite3 (2.9.6-aarch64-linux-musl) sha256=3579e1c98cdc7ff5c3722847bb63ed4e1efb7ff675cb5e1e48ef2d4da5fb3bc9
459
+ sqlite3 (2.9.6-arm-linux-gnu) sha256=33541500e3615da02afe54a9cc38b17a6985d3cf9d8b76d6d0a83002f114e7ec
460
+ sqlite3 (2.9.6-arm-linux-musl) sha256=c5490af48bb228fefa54314e9541375c3907e70f8109f3881b5ff97e1c93ae33
461
+ sqlite3 (2.9.6-arm64-darwin) sha256=849b5d7f795e60fe25076d62c72dd722beb45b3850b516ad978d60ee848ec15b
462
+ sqlite3 (2.9.6-x86-linux-gnu) sha256=fbaa9f46f9708f57dd8a459b37fc269f9613e0cacf1547df01aa439cc45c20c0
463
+ sqlite3 (2.9.6-x86-linux-musl) sha256=6715026fbb5530e810b28ef43b9c4f84cd3c991f67b9d808a31fcc32b847abbd
464
+ sqlite3 (2.9.6-x86_64-darwin) sha256=b5842fea77781c14da03fa7bc0feb82db03a69e135affcb6f5399cbd2797a5f3
465
+ sqlite3 (2.9.6-x86_64-linux-gnu) sha256=613188ce02f614126ddbc38c5e217ccffd6306d0dcd9adca9764547aa890a634
466
+ sqlite3 (2.9.6-x86_64-linux-musl) sha256=d493b11818a3573387a1d56e1ee8fa00da23a683a7a1cc063e7a0feeed843abf
467
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
468
+ tilt (2.9.0) sha256=da5735d0280bba96e9a91041bb14aee435ccad5c17b0fa519249ae543d9aa3a5
469
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
470
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
471
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
472
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
473
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
474
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
475
+ yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51
476
+ yard-doctest (0.1.17) sha256=7cb35a75d99f58fc42ee72d3542a36e227237b621a40aebc391c95988b72847f
477
+
478
+ BUNDLED WITH
479
+ 2.6.9
@@ -86,25 +86,15 @@ module ActiveRecord
86
86
 
87
87
  def test_index_exists
88
88
  with_change_table do |t|
89
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3") && ActiveRecord::gem_version <= Gem::Version.create('7.0.4')
90
- @connection.expect :index_exists?, nil, [:delete_me, :bar, {}]
91
- t.index_exists?(:bar, {})
92
- else
93
- @connection.expect :index_exists?, nil, [:delete_me, :bar]
94
- t.index_exists?(:bar)
95
- end
89
+ @connection.expect :index_exists?, nil, [:delete_me, :bar]
90
+ t.index_exists?(:bar)
96
91
  end
97
92
  end
98
93
 
99
94
  def test_index_exists_with_options
100
95
  with_change_table do |t|
101
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3") && ActiveRecord::gem_version <= Gem::Version.create('7.0.4')
102
- @connection.expect :index_exists?, nil, [:delete_me, :bar, {unique: true}]
103
- t.index_exists?(:bar, {unique: true})
104
- else
105
- @connection.expect :index_exists?, nil, [:delete_me, :bar], unique: true
106
- t.index_exists?(:bar, unique: true)
107
- end
96
+ @connection.expect :index_exists?, nil, [:delete_me, :bar], unique: true
97
+ t.index_exists?(:bar, unique: true)
108
98
  end
109
99
  end
110
100
 
@@ -76,37 +76,23 @@ module ActiveRecord
76
76
  end
77
77
  end
78
78
 
79
- VERSION_7 = ActiveRecord.gem_version >= Gem::Version.create("7.0.0")
80
-
81
- def assert_raises_below_ar_7(ex, &test)
82
- if VERSION_7
83
- assert_nothing_raised &test
84
- else
85
- assert_raises ex, &test
86
- end
87
- end
88
-
89
79
  def test_create_with_value_for_generated_column
90
80
  # Note: The statement itself will not fail for an explicit transaction that uses buffered transactions.
91
81
  # Instead, the commit will fail. That is tested in a separate test case.
92
82
  [nil, :serializable].each do |isolation|
93
83
  run_in_transaction isolation do
94
- assert_raises_below_ar_7 ActiveRecord::StatementInvalid do
95
- singer = Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
96
- assert_equal "Pete Allison", singer.reload.full_name
97
- end
84
+ singer = Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
85
+ assert_equal "Pete Allison", singer.reload.full_name
98
86
  end
99
87
  end
100
88
  end
101
89
 
102
90
  def test_create_with_value_for_generated_column_buffered_mutations
103
91
  # The transaction itself will raise an error, as the failure occurs during the commit.
104
- assert_raises_below_ar_7 ActiveRecord::StatementInvalid do
105
- singer = run_in_transaction :buffered_mutations do
106
- Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
107
- end
108
- assert_equal "Pete Allison", singer.reload.full_name
92
+ singer = run_in_transaction :buffered_mutations do
93
+ Singer.create first_name: "Pete", last_name: "Allison", full_name: "Alice Peterson"
109
94
  end
95
+ assert_equal "Pete Allison", singer.reload.full_name
110
96
  end
111
97
 
112
98
  def test_update_with_value_for_generated_column
@@ -116,9 +102,7 @@ module ActiveRecord
116
102
  singer = Singer.create first_name: "Pete", last_name: "Allison"
117
103
  singer.reload # reload to ensure the full_name attribute is populated.
118
104
  run_in_transaction isolation do
119
- assert_raises_below_ar_7 ActiveRecord::StatementInvalid do
120
- Singer.update full_name: "Alice Peterson"
121
- end
105
+ Singer.update full_name: "Alice Peterson"
122
106
  end
123
107
  assert_equal "Pete Allison", singer.reload.full_name
124
108
  end
@@ -128,10 +112,8 @@ module ActiveRecord
128
112
  singer = Singer.create first_name: "Pete", last_name: "Allison"
129
113
  singer.reload # reload to ensure the full_name attribute is populated.
130
114
  # The transaction itself will raise an error, as the failure occurs during the commit.
131
- assert_raises_below_ar_7 ActiveRecord::StatementInvalid do
132
- run_in_transaction :buffered_mutations do
133
- Singer.update full_name: "Alice Peterson"
134
- end
115
+ run_in_transaction :buffered_mutations do
116
+ Singer.update full_name: "Alice Peterson"
135
117
  end
136
118
  assert_equal "Pete Allison", singer.reload.full_name
137
119
  end
@@ -17,7 +17,6 @@ require "active_support/testing/stream"
17
17
  require "activerecord-spanner-adapter"
18
18
  require "active_record/connection_adapters/spanner_adapter"
19
19
  require "securerandom"
20
- require "composite_primary_keys" if ActiveRecord::gem_version < Gem::Version.create('7.1.0')
21
20
 
22
21
  # rubocop:disable Style/GlobalVars
23
22
  #
@@ -27,27 +26,16 @@ end
27
26
  $spanner_test_database = "ar-test-#{SecureRandom.hex 4}"
28
27
 
29
28
  def connector_config
30
- if ActiveRecord.gem_version >= Gem::Version.create("7.1.0")
31
- {
32
- "adapter" => "spanner",
33
- "emulator_host" => ENV["SPANNER_EMULATOR_HOST"],
34
- "project" => ENV["SPANNER_TEST_PROJECT"],
35
- "instance" => ENV["SPANNER_TEST_INSTANCE"],
36
- "credentials" => ENV["SPANNER_TEST_KEYFILE"],
37
- "database" => $spanner_test_database,
38
- "default_sequence_kind" => "BIT_REVERSED_POSITIVE",
39
- "use_client_side_id_for_mutations" => true,
40
- }
41
- else
42
- {
43
- "adapter" => "spanner",
44
- "emulator_host" => ENV["SPANNER_EMULATOR_HOST"],
45
- "project" => ENV["SPANNER_TEST_PROJECT"],
46
- "instance" => ENV["SPANNER_TEST_INSTANCE"],
47
- "credentials" => ENV["SPANNER_TEST_KEYFILE"],
48
- "database" => $spanner_test_database,
49
- }
50
- end
29
+ {
30
+ "adapter" => "spanner",
31
+ "emulator_host" => ENV["SPANNER_EMULATOR_HOST"],
32
+ "project" => ENV["SPANNER_TEST_PROJECT"],
33
+ "instance" => ENV["SPANNER_TEST_INSTANCE"],
34
+ "credentials" => ENV["SPANNER_TEST_KEYFILE"],
35
+ "database" => $spanner_test_database,
36
+ "default_sequence_kind" => "BIT_REVERSED_POSITIVE",
37
+ "use_client_side_id_for_mutations" => true,
38
+ }
51
39
  end
52
40
 
53
41
  def spanner
@@ -26,8 +26,9 @@ Gem::Specification.new do |spec|
26
26
 
27
27
  spec.add_dependency "google-cloud-spanner", "~> 2.25"
28
28
  spec.add_dependency "google-cloud-spanner-v1", "~> 1.7"
29
- spec.add_runtime_dependency "activerecord", [">= 7.0", "< 9"]
29
+ spec.add_runtime_dependency "activerecord", [">= 7.1", "< 9"]
30
30
 
31
+ spec.add_development_dependency "appraisal", "~> 2.5"
31
32
  spec.add_development_dependency "autotest-suffix", "~> 1.1"
32
33
  spec.add_development_dependency "bundler", [">= 2.0", "< 5.0"]
33
34
  spec.add_development_dependency "google-style", "~> 1.32.0"
@@ -4,7 +4,7 @@
4
4
  # license that can be found in the LICENSE file or at
5
5
  # https://opensource.org/licenses/MIT.
6
6
 
7
- class CreateTables < ActiveRecord::Migration[6.0]
7
+ class CreateTables < ActiveRecord::Migration[7.1]
8
8
  def change
9
9
  connection.ddl_batch do
10
10
  create_table :singers do |t|
@@ -55,7 +55,7 @@ If you are not familiar with Active Record, you can read more about it on [Ruby
55
55
  ruby --version
56
56
  rails --version
57
57
  ```
58
- The versions should be Ruby 2.6 or higher and Rails 6.0 or higher.
58
+ The versions should be Ruby 3.2 or higher and Rails 7.1 or higher.
59
59
  1. Create a new Rails project:
60
60
 
61
61
  ```shell
@@ -28,13 +28,6 @@ end
28
28
  desc "Runs all samples."
29
29
  task :all do
30
30
  samples = fetch_samples
31
- ar_version = ENV.fetch "AR_VERSION", "~> 7.1.0"
32
- less_than_7_1 = ar_version.dup.to_s.sub("~>", "").strip < "7.1.0"
33
- samples.delete "interleaved-tables" if less_than_7_1
34
- samples.delete "interleaved-tables-before-7.1" unless less_than_7_1
35
- samples.delete "bit-reversed-sequence" if less_than_7_1
36
- samples.delete "auto-generated-primary-key" if less_than_7_1
37
- samples.delete "query-logs" if less_than_7_1
38
31
  samples.each do |sample|
39
32
  run_sample sample
40
33
  end