| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
References 89bcca59e91fa9da941de890012872e8288e77b0
|
|
|
|
|
| |
Some places we can't remove because Ruby still don't have a method
equivalent to strip_heredoc to be called in an already existent string.
|
|
|
|
| |
Rails 6 will only support Ruby >= 2.3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Provides both a forked process and threaded parallelization options. To
use add `parallelize` to your test suite.
Takes a `workers` argument that controls how many times the process
is forked. For each process a new database will be created suffixed
with the worker number; test-database-0 and test-database-1
respectively.
If `ENV["PARALLEL_WORKERS"]` is set the workers argument will be ignored
and the environment variable will be used instead. This is useful for CI
environments, or other environments where you may need more workers than
you do for local testing.
If the number of workers is set to `1` or fewer, the tests will not be
parallelized.
The default parallelization method is to fork processes. If you'd like to
use threads instead you can pass `with: :threads` to the `parallelize`
method. Note the threaded parallelization does not create multiple
database and will not work with system tests at this time.
parallelize(workers: 2, with: :threads)
The threaded parallelization uses Minitest's parallel exector directly.
The processes paralleliztion uses a Ruby Drb server.
For parallelization via threads a setup hook and cleanup hook are
provided.
```
class ActiveSupport::TestCase
parallelize_setup do |worker|
# setup databases
end
parallelize_teardown do |worker|
# cleanup database
end
parallelize(workers: 2)
end
```
[Eileen M. Uchitelle, Aaron Patterson]
|
|
|
| |
Add #create_or_find_by to lean on unique constraints
|
|
|
|
| |
[ci skip]
|
| |
|
|\
| |
| |
| |
| | |
mohsen-alizadeh/sanitize_empty_and_nil_parameters_passed_to_select
sanitize empty and nil parameters to select #31059
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
* Add Relation#pick as short-hand for single-value plucks
|
|\ \
| | |
| | |
| | | |
Fix marshaling of models with `has_many :through` associations
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
https://travis-ci.org/rails/rails/jobs/338338927#L1043
Related to daf15f58b943d85d8fb726590ae94f77ca0a5d5f
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 487a1061cc496455dfe5ee84d1e49d509c1675b5.
This `#--` is necessary for the doc of `distinct`.
[ci skip]
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently `_default_attributes` doesn't work unless `load_schema` is
called before.
The `MissingAttributeError` is caused by `reload_schema_from_cache` is
invoked by `serialize`.
I added `load_schema` in `_default_attributes` to `_default_attributes`
works without any dependency like `attribute_types` etc.
Closes #31905.
|
| |
| |
| |
| |
| | |
Followup to b988ecb, when I cherry-picked from my parallel testing
branch I didn't realize `drop` wasn't part of the commit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
You could use the `VERBOSE` env var to turn off output for migrations
tasks but you couldn't use it for other tasks.
This change moves the `verbose?` check to a method so we can also use it
in create and drop respectively.
tenderlove and I noticed this as part of the ongoing work in parallel
testing. When the parallel tests boot the app needs to create new
databases for each worker. The output from these is unnecessary but
there was previously no way to turn it off. Now if `VERBOSE=false` is
passes to `bin/rails db:create` the text "Created blah blah db" will no
longer be output.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since #29572, test runner will be loaded as minitest's plugin.
Therefore, if specify a value in `Minitest.extensions` before the Minitest
initialization process, the extension will not load and the test runner will
not work.
https://github.com/seattlerb/minitest/blob/44eee51ed9716c789c7cea8a90c131cf736b8915/lib/minitest.rb#L86
Also, load processing of adapter is done before minitest option processing,
so set the adapter in the file so that the `-a` option works.
|
| |
| |
| |
| | |
@connection.more_results?`
|
| |
| |
| |
| |
| |
| | |
These are internally used only.
[ci skip]
|
| | |
|
| |
| |
| |
| | |
:tada::tada::tada:
|
| | |
|
|\ \
| | |
| | | |
Dump correctly index nulls order for PostgreSQL
|
| | | |
|
|\ \ \
| | | |
| | | | |
Avoid extra calls to to_s
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
With #31615 `type_for_attribute` accepts either
a symbol as well as a string. `has_attribute?` and `attribute_alias`
also accept either. Since these methods call `to_s` on the argument,
we no longer need to do that at the call site.
|
|/ / /
| | |
| | |
| | |
| | | |
This can not expand an array of aggregated objects correctly, and is no
longer used internally since 159b21b5.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This example was added in abdf546ad6d02ecb95766e73cd3c645a48c954de
but was inconsistent with `composed_of :balance` definition in the
'Customer'.
[Ryuta Kamizono & bogdanvlviv]
[ci skip]
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 755f7b58953c25790eea0574ff8928033ded2d88, reversing
changes made to 35db4603095e8ccc0a92d925a42d4b3d9462580f.
Originally `mapping: %w(balance amount)` is correct mapping example.
Closes #31346.
[Ryuta Kamizono & bogdanvlviv]
[ci skip]
|
| | | |
|
|\ \ \
| | | |
| | | | |
Allow type_for_attribute(:symbol)
|
| | | |
| | | |
| | | |
| | | | |
Closes #31611.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Follow up of #31724.
If `composed_of` objects have multiple mappings, array predicate handler
can not correctly handle the expanded condition.
We need to handle it like polymorphic association objects.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Fix not expanded problem when passing an Array object as argument to the where method using composed_of column.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
where method using composed_of column.
Fixes #31723
```
david_balance = customers(:david).balance
Customer.where(balance: [david_balance]).to_sql
# Before: WHERE `customers`.`balance` = NULL
# After : WHERE `customers`.`balance` = 50
```
|
| |_|/ /
|/| | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Since #29504, mysql2 adapter lost ability to insert zero value on
primary key due to enforce `NO_AUTO_VALUE_ON_ZERO` disabled.
That is for using `DEFAULT` on auto increment column, but we can use
`NULL` instead in that case.
|
| | |
| | |
| | |
| | |
| | | |
MySQL supports descending indexes from 8.0.1 onwards:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html
|
| | |
| | |
| | |
| | | |
Since #31422, `insert_fixtures` is deprecated.
|