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)
3.7 KiB
-
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
, andupsert_all
now clear the query cache.Eugene Kenny
-
Call
while_preventing_writes
directly fromconnected_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 callconnected_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
anddoes_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 aTableNotSpecified
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 for previous changes.