1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activerecord/CHANGELOG.md
Eugene Kenny 0cc13d3169 Accept columns passed with options in remove_index
Before this patch, column names could only be passed as a positional
argument when no other options were supplied:

    remove_index :reports, :report_id

Passing column names positionally along with other options would fail:

    remove_index :reports, :report_id, unique: true
    # => ArgumentError: wrong number of arguments (given 3, expected 1..2)
2019-09-10 22:21:20 +01:00

129 lines
3.7 KiB
Markdown

* Allow column names to be passed to `remove_index` positionally along with other options.
Passing other options can be necessary to make `remove_index` correctly reversible.
Before:
add_index :reports, :report_id # => works
add_index :reports, :report_id, unique: true # => works
remove_index :reports, :report_id # => works
remove_index :reports, :report_id, unique: true # => ArgumentError
After:
remove_index :reports, :report_id, unique: true # => works
*Eugene Kenny*
* Allow bulk `ALTER` statements to drop and recreate indexes with the same name.
*Eugene Kenny*
* `insert`, `insert_all`, `upsert`, and `upsert_all` now clear the query cache.
*Eugene Kenny*
* Call `while_preventing_writes` directly from `connected_to`.
In some cases application authors want to use the database switching middleware and make explicit calls with `connected_to`. It's possible for an app to turn off writes and not turn them back on by the time we call `connected_to(role: :writing)`.
This change allows apps to fix this by assuming if a role is writing we want to allow writes, except in the case it's explicitly turned off.
*Eileen M. Uchitelle*
* Improve detection of ActiveRecord::StatementTimeout with mysql2 adapter in the edge case when the query is terminated during filesort.
*Kir Shatrov*
* Stop trying to read yaml file fixtures when loading Active Record fixtures.
*Gannon McGibbon*
* Deprecate `.reorder(nil)` with `.first` / `.first!` taking non-deterministic result.
To continue taking non-deterministic result, use `.take` / `.take!` instead.
*Ryuta Kamizono*
* Ensure custom PK types are casted in through reflection queries.
*Gannon McGibbon*
* Preserve user supplied joins order as much as possible.
Fixes #36761, #34328, #24281, #12953.
*Ryuta Kamizono*
* Allow `matches_regex` and `does_not_match_regexp` on the MySQL Arel visitor.
*James Pearson*
* Allow specifying fixtures to be ignored by setting `ignore` in YAML file's '_fixture' section.
*Tongfei Gao*
* Make the DATABASE_URL env variable only affect the primary connection. Add new env variables for multiple databases.
*John Crepezzi*, *Eileen Uchitelle*
* Add a warning for enum elements with 'not_' prefix.
class Foo
enum status: [:sent, :not_sent]
end
*Edu Depetris*
* Make currency symbols optional for money column type in PostgreSQL
*Joel Schneider*
* Add support for beginless ranges, introduced in Ruby 2.7.
*Josh Goodall*
* Add database_exists? method to connection adapters to check if a database exists.
*Guilherme Mansur*
* Loading the schema for a model that has no `table_name` raises a `TableNotSpecified` error.
*Guilherme Mansur*, *Eugene Kenny*
* PostgreSQL: Fix GROUP BY with ORDER BY virtual count attribute.
Fixes #36022.
*Ryuta Kamizono*
* Make ActiveRecord `ConnectionPool.connections` method thread-safe.
Fixes #36465.
*Jeff Doering*
* Add support for multiple databases to `rails db:abort_if_pending_migrations`.
*Mark Lee*
* Fix sqlite3 collation parsing when using decimal columns.
*Martin R. Schuster*
* Fix invalid schema when primary key column has a comment.
Fixes #29966.
*Guilherme Goettems Schneider*
* Fix table comment also being applied to the primary key column.
*Guilherme Goettems Schneider*
* Allow generated `create_table` migrations to include or skip timestamps.
*Michael Duchemin*
Please check [6-0-stable](https://github.com/rails/rails/blob/6-0-stable/activerecord/CHANGELOG.md) for previous changes.