- 21 3月, 2018 1 次提交
-
-
由 David Stosik 提交于
-
- 20 3月, 2018 1 次提交
-
-
由 David Stosik 提交于
When dumping the database schema, Rails will dump foreign key names only if those names were not generate by Rails. Currently this is determined by checking if the foreign key name is `fk_rails_` followed by a 10-character hash. At [Cookpad](https://github.com/cookpad), we use [Departure](https://github.com/departurerb/departure) (Percona's pt-online-schema-change runner for ActiveRecord migrations) to run migrations. Often, `pt-osc` will make a copy of a table in order to run a long migration without blocking it. In this copy process, foreign keys are copied too, but [their name is prefixed with an underscore to prevent name collision ](https://www.percona.com/doc/percona-toolkit/LATEST/pt-online-schema-change.html#cmdoption-pt-online-schema-change-alter-foreign-keys-method). In the process described above, we often end up with a development database that contains foreign keys which name starts with `_fk_rails_`. That name does not match the ignore pattern, so next time Rails dumps the database schema (eg. when running `rake db:migrate`), our `db/schema.rb` file ends up containing those unwanted foreign key names. This also produces an unwanted git diff that we'd prefer not to commit. In this PR, I'd like to suggest a way to expose the foreign key name ignore pattern to the Rails configuration, so that individual projects can decide on a different pattern of foreign keys that will not get their names dumped in `schema.rb`.
-
- 19 3月, 2018 9 次提交
-
-
由 Andrew White 提交于
-
由 Brian Knight 提交于
If an explicit AWS key pair and/or region is not provided in config/storage.yml, attempt to use environment variables, shared credentials, or IAM role credentials. Order of precedence is determined by the AWS SDK[1]. [1]: https://docs.aws.amazon.com/sdk-for-ruby/v3/developer-guide/setup-config.html
-
由 Eileen M. Uchitelle 提交于
Add MySQL JSON reference to ActiveRecord::Store documentation
-
由 Eileen M. Uchitelle 提交于
Move CSP info from 5.2 release notes to guide [ci skip]
-
由 Andrew White 提交于
Fix failing `QuotingTest#test_quoted_time_utc`
-
由 bogdanvlviv 提交于
This test fails in specific time. Example: If run this test on the machine with time 01:00 am UTC+2, this test will fail. Changing representing of 2000-01-01 01:00 am UTC+2 to UTC+0 change the day, month and even year in our case, so substitution `"2000-01-01 "` to `""` isn't possible. ``` Failure: ActiveRecord::ConnectionAdapters::QuotingTest#test_quoted_time_utc Expected: "1999-12-31 23:01:27" Actual: "23:01:27" ``` Related to 7c479cbf
-
由 yuuji.yaginuma 提交于
-
由 bogdanvlviv 提交于
- Add mention about "nonce". Related to https://github.com/rails/rails/pull/32222#issuecomment-372268157
-
由 Kasper Timm Hansen 提交于
Fix "Ruby on Rails 5.2 Release Notes" [ci skip]
-
- 18 3月, 2018 3 次提交
-
-
由 bogdanvlviv 提交于
- Remove ``` * Namespace error pages' CSS selectors to stop the styles from bleeding into other pages when using Turbolinks. ([Pull Request](https://github.com/rails/rails/pull/28814)) ``` since it was backported to `5-1-stable` by 50d5baf7 and `5-0-stable` by d1c4a39e. - Remove ``` * Allow irb options to be passed from `rails console` command. ([Pull Request](https://github.com/rails/rails/pull/29010)) ``` since it was backported to `5-1-stable` by e91b4834. - Remove ``` * Load environment file in `dbconsole` command. ([Pull Request](https://github.com/rails/rails/pull/29725)) ``` since it was backported to `5-1-stable` by 7f934287. - Remove ``` * Gemfile for new apps: upgrade redis-rb from ~> 3.0 to 4.0. ([Pull Request](https://github.com/rails/rails/pull/30748)) ``` since it was backported to `5-1-stable` by 37895311. - Remove ``` * Fix minitest rails plugin. The custom reporters are added only if needed. This will fix conflicts with others plugins. ([Commit](https://github.com/rails/rails/commit/ac99916fcf7bf27bb1519d4f7387c6b4c5f0463d)) ``` since it was backported to `5-1-stable` by caa76956. - Remove ``` * Add support for compatibility with redis-rb gem for 4.0 version. ([Pull Request](https://github.com/rails/rails/pull/30748)) ``` since it was backported to `5-1-stable` by 37895311. - Remove ``` * Add `action_controller_api` and `action_controller_base` load hooks to be called in `ActiveSupport.on_load`. ([Pull Request](https://github.com/rails/rails/pull/28402)) ``` since it was backported to `5-1-stable` by b9a5fd70. - Remove ``` * `driven_by` now registers poltergeist and capybara-webkit. ([Pull Request](https://github.com/rails/rails/pull/29315)) ``` since it was backported to `5-1-stable` by c5dd4511. - Remove ``` * Fallback `ActionController::Parameters#to_s` to `Hash#to_s`. ([Pull Request](https://github.com/rails/rails/pull/29630)) ``` since it was backported to `5-1-stable` by c1014e43 and `5-0-stable` by 0e71fc30. - Remove ``` * Make `take_failed_screenshot` work within engine. ([Pull Request](https://github.com/rails/rails/pull/30421)) ``` since it was backported to `5-1-stable` by 595a2310. - Remove ``` * Fix optimized url helpers when using relative url root. ([Pull Request](https://github.com/rails/rails/pull/31261)) ``` since it was backported to `5-1-stable` by e9b77953. - Remove ``` * Update `distance_of_time_in_words` helper to display better error messages for bad input. ([Pull Request](https://github.com/rails/rails/pull/20701)) ``` since it was backported to `5-1-stable` by 2c97fbf6. - Remove ``` * Generate field ids in `collection_check_boxes` and `collection_radio_buttons`. ([Pull Request](https://github.com/rails/rails/pull/29412)) ``` since it was backported to `5-1-stable` by 2d8c10a7. - Remove ``` * Fix issues with scopes and engine on `current_page?` method. ([Pull Request](https://github.com/rails/rails/pull/29503)) ``` since it was backported to `5-1-stable` by 2135daf0. - Remove ``` * Bring back proc with arity of 1 in `ActionMailer::Base.default` proc since it was supported in Rails 5.0 but not deprecated. ([Pull Request](https://github.com/rails/rails/pull/30391)) ``` since it was backported to `5-1-stable` by b2bedb14. - Remove ``` * Add type caster to `RuntimeReflection#alias_name`. ([Pull Request](https://github.com/rails/rails/pull/28961)) ``` since it was backported to `5-1-stable` by f644e7a6. - Remove ``` * Loading model schema from database is now thread-safe. ([Pull Request](https://github.com/rails/rails/pull/29216)) ``` since it was backported to `5-1-stable` by 02926cff. and `5-0-stable` by 84bcfe5a - Remove ``` * Fix destroying existing object does not work well when optimistic locking enabled and `locking_column` is null in the database. ([Pull Request](https://github.com/rails/rails/pull/28926)) ``` since it was backported to `5-1-stable` by e498052c. - Remove ``` * `ActiveRecord::Persistence#touch` does not work well when optimistic locking enabled and `locking_column`, without default value, is null in the database. ([Pull Request](https://github.com/rails/rails/pull/28914)) ``` since it was backported to `5-1-stable` by 1e2f63db. - Remove ``` * Previously, when building records using a `has_many :through` association, if the child records were deleted before the parent was saved, they would still be persisted. Now, if child records are deleted before the parent is saved on a `has_many :through` association, the child records will not be persisted. ([Pull Request](https://github.com/rails/rails/pull/29593)) ``` since it was backported to `5-1-stable` by a22c39e9. - Remove ``` * Query cache was unavailable when entering the `ActiveRecord::Base.cache` block without being connected. ([Pull Request](https://github.com/rails/rails/pull/29609)) ``` since it was backported to `5-1-stable` by fd6c8cdf and `5-0-stable` by 9f2532bb. - Remove ``` * `Relation#joins` is no longer affected by the target model's `current_scope`, with the exception of `unscoped`. ([Commit](https://github.com/rails/rails/commit/5c71000d086cc42516934415b79380c2224e1614)) ``` since it was backported to `5-1-stable` by 3630d635. - Remove ``` * Fix `unscoped(where: [columns])` removing the wrong bind values. ([Pull Request](https://github.com/rails/rails/pull/29780)) ``` since it was backported to `5-1-stable` by d378fcb2. - Remove ``` * When a `has_one` association is destroyed by `dependent: destroy`, `destroyed_by_association` will now be set to the reflection, matching the behaviour of `has_many` associations. ([Pull Request](https://github.com/rails/rails/pull/29855)) ``` since it was backported to `5-1-stable` by 8254a8be. - Remove ``` * Fix `COUNT(DISTINCT ...)` with `ORDER BY` and `LIMIT` to keep the existing select list. ([Pull Request](https://github.com/rails/rails/pull/29848)) ``` since it was backported to `5-1-stable` by 0e8d4edd. - Remove ``` * Ensure `sum` honors `distinct` on `has_many :through` associations. ([Commit](https://github.com/rails/rails/commit/566f1fd068711dfe557bef63406f8dd6d41d473d)) ``` since it was backported to `5-1-stable` by c0a1dc25. - Remove ``` * Fix `COUNT(DISTINCT ...)` for `GROUP BY` with `ORDER BY` and `LIMIT`. ([Commit](https://github.com/rails/rails/commit/5668dc6b1863ef43be8f8ef0fb1d5db913085fb3)) ``` since it was backported to `5-1-stable` by 87ca68e7. - Remove ``` * MySQL: Don't lose `auto_increment: true` in the `db/schema.rb`. ([Commit](https://github.com/rails/rails/commit/9493d4553569118b2a85da84fd3a8ba2b5b2de76)) ``` since it was backported to `5-1-stable` by 8b6e694e. - Remove ``` * Fix longer sequence name detection for serial columns. ([Pull Request](https://github.com/rails/rails/pull/28339)) ``` since it was backported to `5-1-stable` by af9c1707 and `5-0-stable` by 7025b1d8. - Remove ``` * Fix `bin/rails db:setup` and `bin/rails db:test:prepare` create wrong ar_internal_metadata's data for a test database. ([Pull Request](https://github.com/rails/rails/pull/30579)) ``` since it was backported to `5-1-stable` by bb67b5f2 and `5-0-stable` by 60437e6d. - Remove ``` * Fix conflicts `counter_cache` with `touch: true` by optimistic locking. ([Pull Request](https://github.com/rails/rails/pull/31405)) ``` since it was backported to `5-1-stable` by 5236ddaf. - Remove ``` * Fix `count(:all)` to correctly work `distinct` with custom SELECT list. ([Commit](https://github.com/rails/rails/commit/c6cd9a59f200863ccfe8ad1d9c5a8876c39b9c5c)) ``` since it was backported to `5-1-stable` by 6beb4de7. - Remove ``` * Fix to invoke callbacks when using `update_attribute`. ([Commit](https://github.com/rails/rails/commit/732aa34b6e6459ad66a3d3ad107cfff75cc45160)) ``` since it was backported to `5-1-stable` by 6346683b. - Remove ``` * Use `count(:all)` in `HasManyAssociation#count_records` to prevent invalid SQL queries for association counting. ([Pull Request](https://github.com/rails/rails/pull/27561)) ``` since it was backported to `5-1-stable` by eef3c89e. - Remove ``` * Fix `count(:all)` with eager loading and having an order other than the driving table. ([Commit](https://github.com/rails/rails/commit/ebc09ed9ad9a04338138739226a1a92c7a2707ee)) ``` since it was backported to `5-1-stable` by 6df9b69b. - Remove ``` * PostgreSQL: Allow pg-1.0 gem to be used with Active Record. ([Pull Request](https://github.com/rails/rails/pull/31671)) ``` since it was backported to `5-1-stable` by a9c06f61. - Remove ``` * Fix that after commit callbacks on update does not triggered when optimistic locking is enabled. ([Commit](https://github.com/rails/rails/commit/7f9bd034c485c2425ae0164ff5d6374834e3aa1d)) ``` since it was backported to `5-1-stable` by aaee10e6. - Remove ``` * Fix regression in numericality validator when comparing Decimal and Float input values with more scale than the schema. ([Pull Request](https://github.com/rails/rails/pull/28584)) ``` since it was backported to `5-1-stable` by 5b1c3e5a. Note that there was incorrect link to PR, original PR is https://github.com/rails/rails/pull/29249. - Remove ``` * Fix to working before/after validation callbacks on multiple contexts. ([Pull Request](https://github.com/rails/rails/pull/31483)) ``` since it was backported to `5-1-stable` by 0f7046a7. - Remove ``` * Fix implicit coercion calculations with scalars and durations. ([Pull Request](https://github.com/rails/rails/pull/29163), [Pull Request](https://github.com/rails/rails/pull/29971)) ``` since it was backported to `5-1-stable` by 51ea27c0, 4d82e2aa. - Remove ``` * Fix modulo operations involving durations. ([Commit](https://github.com/rails/rails/commit/a54e13bd2e8fb4d6aa0aebe59271699a2d62567b)) ``` since it was backported to `5-1-stable` by 233fa7ea. - Remove ``` * Return all mappings for a timezone identifier in `country_zones`. ([Commit](https://github.com/rails/rails/commit/cdce6a709e1cbc98fff009effc3b1b3ce4c7e8db)) ``` since it was backported to `5-1-stable` by 0222ebbe. - Remove ``` * Add support for compatibility with redis-rb gem for 4.0 version. ([Pull Request](https://github.com/rails/rails/pull/30748)) ``` since it was backported to `5-1-stable` by 37895311. Related to #32252. Related to #32222, https://github.com/rails/rails/pull/32222#discussion_r174256536. Follow up a489cc81.
-
由 Stefan Wrobel 提交于
-
由 Saverio Miroddi 提交于
The current documentation explicitly mentions only PostgreSQL (hstore/json) for use with `.store_accessor`, making it somewhat confusing what to choose on a MySQL 5.7+ setup (which introduced a json data type).
-
- 17 3月, 2018 5 次提交
-
-
由 George Claghorn 提交于
Fix grammar in Getting Started with Rails
-
由 ef718 提交于
-
由 Eileen M. Uchitelle 提交于
Fix default connection handling with three-tier config
-
由 eileencodes 提交于
In a three-tier config environment `configurations[environment].presence` will return `{ :primary => { :key => value, :key => value }, :secondary => { :key => value, :key => value} }, which means it's not given a single config to connect to. If we flip these however it will connect to primary because that's the default connection, and on a two tier it will be `nil` so the code will select the connection from the configurations rather than the connection.
-
由 eileencodes 提交于
If you had a three-tier config, the `establish_connection` that's called in the Railtie on load can't figure out how to access the default configuration. This is because Rails assumes that the config is the first value in the hash and always associated with the key from the environment. With a three tier config however we need to go one level deeper. This commit includes 2 changes. 1) removes a line from `resolve_all` which was parsing out the the environment from the config so instead of getting ``` { :development => { :primary => { :database => "whatever" } }, :animals => { :database => "whatever-animals" } }, etc with test / prod } ``` We'd instead end up with a config that had no attachment to it's envioronment. ``` { :primary => { :database => "whatever" } :animals => { :database => "whatever-animals" } etc - without test and prod } ``` Not only did this mean that Active Record didn't know how to establish a connection, it didn't have the other necessary configs along with it in the configs list. So fix this I removed the line that deletes these configs. The second thing this commit changes is adding this line to `establish_connection` ``` spec = spec[spec_name.to_sym] if spec[spec_name.to_sym] ``` When you have a three-tier config and don't pass any hash/symbol/env etc to `establish_connection` the resolver will automatically return both the primary and secondary (in this case animals db) configurations. We'll get an `database configuration does not specify adapter` error because AR will try to establish a connection on the `primary` key rather than the `primary` key's config. It assumes that the `development` or default env automatically will return a config hash, but with a three-tier config we actually get a key and config `primary => config`. This fix is a bit of a bandaid because it's not the "correct" way to handle this situation, but it does solve our immediate problem. The new code here is saying "if the config returned from the resolver (I know it's called spec in here but we interchange our meanings a LOT and what is returned is a three-tier config) has a key matching the "primary" spec name, grab the config from the spec and pass that to the estalbish_connection method". This works because if we pass `:animals` or a hash, or `:primary` we'll already have the correct configuration to connect with. This fixes the case where we want Rail to connect with the default connection. Coming soon is a refactoring that should eliminate the need to do this but I need this fix in order to write the multi-db rake tasks that I promised in my RailsConf submission. `@tenderlove` and I are working on the refactoring of the internals for connection management but it won't be ready for a few weeks and this issue has been blocking progress.
-
- 16 3月, 2018 8 次提交
-
-
由 Rafael Mendonça França 提交于
[ci skip]
-
由 fatkodima 提交于
-
由 Rafael Mendonça França 提交于
[ci skip]
-
由 Catherine Khuu 提交于
* Check exclude before flagging cookies as secure. * Update comments in ActionDispatch::SSL. [Catherine Khuu + Rafael Mendonça França]
-
由 Kasper Timm Hansen 提交于
Only preload misses on multifetch cache
-
由 Kasper Timm Hansen 提交于
Partly revert #32231
-
由 Kasper Timm Hansen 提交于
Fix typo in active_job_basics.md
-
由 Jon Evans 提交于
`it's` -> `its`
-
- 15 3月, 2018 4 次提交
-
-
由 yuuji.yaginuma 提交于
It's causing a test to fail. Ref: https://travis-ci.org/rails/rails/jobs/353758855#L1433-L1501
-
由 Andrew White 提交于
Time column improvements
-
由 Sean Griffin 提交于
Don't marshal ActiveSupport::Cache::Entry objects twice
-
由 Sean Griffin 提交于
When upgrading to Rails 5.2 we're seeing `ActiveSupport::Cache::Entry#compress` and `ActiveSupport::Cache::Entry#should_compress?` as the highest usage of our CPU. At least some part of this is coming from the fact that objects are being marshaled multiple times. This memoizes the marshaled value to eliminate half the problem.
-
- 14 3月, 2018 9 次提交
-
-
由 Andrew White 提交于
Merge pull request #32250 from bogdanvlviv/add-info-about-exprity-of-siigned-cookies-to-upgrading-to-5-2 Update "Upgrading from Rails 5.1 to Rails 5.2" [ci skip]
-
由 bogdanvlviv 提交于
Add section "Expiry in signed or encrypted cookie is now embedded in the cookies values" to `master` since it should always be in the guides, not only for version 5.2. Add info about `config.action_dispatch.use_authenticated_cookie_encryption` to the "Configuring Rails Applications" guide. It was committed straight to `5-2-stable` since we don't need this functionality in 6.0. Related to b25fcbc0.
-
由 Andrew White 提交于
Fixes #32248.
-
由 bogdanvlviv 提交于
- Remove extra execution of `perform_enqueued_jobs` since it performs all enqueued jobs in the duration of the block. - Fix example of using `assert_emails` without block since we can't use enqueued jobs in this case.
-
由 Yuji Yaginuma 提交于
-
由 Kasper Timm Hansen 提交于
Fix routing inspector tests broken in https://github.com/rails/rails/commit/6629d51a2756fadf961bb09df20579cacfef2c8e * Renames grep_pattern to grep throughout. * Fixes setup not calling super by calling setup with a block. * Converts test helper method to a private one, like we have it other places. * Uses keyword arguments to get around awkward draw({ grep: "x" }, Action…) construction.
-
由 Kasper Timm Hansen 提交于
We end up with: ``` Usage: bin/rails routes [options] Options: -c, [--controller=CONTROLLER] # Filter by a specific controller, e.g. PostsController or Admin::PostsController. -g, [--grep=GREP] # Grep routes by a specific pattern. -E, [--expanded], [--no-expanded] # Print routes expanded vertically with parts explained. ``` which does miss the bit about routes being printed in order. Also: * Renames options to ease help output readability, then clarifies each option. * Fixes a bunch of indentation.
-
由 Kasper Timm Hansen 提交于
-
由 Rafael Mendonça França 提交于
We only add the header when releasing to avoid some conflicts. [ci skip]
-