- 29 8月, 2018 1 次提交
-
-
由 Eileen Uchitelle 提交于
We originally did the whole `load_database_yaml` thing because this test wasn't cooperating and we needed to finish the namespaced rake tasks for multiple databases. However, it turns out that YAML can't eval ERB if you don't tell it it's ERB so you get Pysch parse errors if you're using multi-line ERB or ERB with conditionals. It's a hot mess. After trying a few things and thinking it over we decided that it wasn't worth bandaiding over, the test needed to be improved. The test was added in #31135 to test that the env is loaded in these tasks. But it was blowing up because we were trying to read a database name out of the configuration - however that's not the purpose of this change. We want to read environment files in the rake tasks, but not in the config file. In this PR we changed the test to test what the PR was actually fixing. We've also deleted the `load_database_yaml` because it caused more problems than it was worth. This should fix the issues described in https://github.com/rails/rails/pull/32274#issuecomment-384161057. We also had these problems at GitHub. Co-authored-by: Nalimi <aibrahim2k2@gmail.com>
-
- 28 8月, 2018 2 次提交
-
-
由 Yuya Tanaka 提交于
`changes_applied` should be called before continuing around callback chain. Otherwise the mutation tracker returns old value for methods like `changed`? or `id_in_database` in around callbacks. Also methods depend on `id_in_database`, like `update_column`, are not working in `around_create` callbacks. ``` class Foo < ActiveRecord::Base around_create :around_create_callback def around_create_callback ... yield p id_in_database # => nil update_column(:generated_column, generate_value) # silently fails end ... end ```
-
由 Nate Pinsky 提交于
* Add documentation for `:collation` option The table definition supports a `:collation` option for string and text columns, but this is not documented anywhere that I could find. I'm not sure if the "If not specified" part is accurate. From [this PR](https://github.com/rails/rails/commit/1515c4d98da3f730ef971fa5a13cad828bd9bef4), it looks like it passes `nil` and lets the database handle the collation, but I'm happy to change it if I misread the code. [ci skip] * FIX remove whitespace [Nate Pinsky + Rafael Mendonça França]
-
- 27 8月, 2018 1 次提交
-
-
由 Kevin Deisz 提交于
-
- 25 8月, 2018 4 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Rich 提交于
There is test in has_one to test enum, but there is no for has_many. [Rich Chen]
-
由 Kevin Deisz 提交于
-
由 Kevin Deisz 提交于
-
- 23 8月, 2018 1 次提交
-
-
由 Ryuta Kamizono 提交于
`Topic` isn't loaded in this test file.
-
- 22 8月, 2018 2 次提交
-
-
由 Ryuta Kamizono 提交于
This was introduced at 24f6bf0d.
-
-
- 20 8月, 2018 4 次提交
-
-
由 Ryuta Kamizono 提交于
The `Relation::Merger` has a problem that order values would be merged as nested array. That was caused an issue #33664 since if array value is passed to `order` and first element in the array includes `?`, the array is regarded as a prepared statement and bind variables. https://api.rubyonrails.org/classes/ActiveRecord/Sanitization/ClassMethods.html#method-i-sanitize_sql_for_order Just merging that as splat args like other values would fix the issue. Fixes #33664.
-
由 Guo Xiang Tan 提交于
-
由 Ryuta Kamizono 提交于
Fixes #33520.
-
由 Rich 提交于
without define the enum in class “SpecialBook”, any string status will be casted to integer 0. Then the test have no meaning. [Rich Chen]
-
- 19 8月, 2018 4 次提交
-
-
由 Guo Xiang Tan 提交于
-
由 Ryuta Kamizono 提交于
If `foreign_keys` is fetched before alter table, it couldn't notice whether foreign keys are broken or not after alter table.
-
由 Ryuta Kamizono 提交于
To prevent style check in review like https://github.com/rails/rails/pull/33608#discussion_r211087605.
-
- 15 8月, 2018 3 次提交
-
-
由 Yoshiyuki Kinjo 提交于
-
由 bogdanvlviv 提交于
- Move changelog entry of #33530 up in order to preserve the chronology since we always add new entries on the top of a changelog file. - Clarify the changelog entry - Clarify the docs of remove_foreign_key - Ensure reversible of `remove_foreign_key` with `:primary_key` and `:to_table` options.
-
由 bogdanvlviv 提交于
-
- 14 8月, 2018 2 次提交
-
-
由 Rich 提交于
remove_foreign_key supports - remove_foreign_key :accounts, :branches - remove_foreign_key :accounts, to_table: :branches but the second one is not reversible. This branch is to fix and allow second one to be reversible. [Nikolay Epifanov, Rich Chen]
-
由 Lachlan Sylvester 提交于
-
- 13 8月, 2018 4 次提交
-
-
由 Eugene Kenny 提交于
If a transaction is opened and closed without any queries being run, we can safely omit the `BEGIN` and `COMMIT` statements, as they only exist to modify the connection's behaviour inside the transaction. This removes the overhead of those statements when saving a record with no changes, which makes workarounds like `save if changed?` unnecessary. This implementation buffers transactions inside the transaction manager and materializes them the next time the connection is used. For this to work, the adapter needs to guard all connection use with a call to `materialize_transactions`. Because of this, adapters must opt in to get this new behaviour by implementing `supports_lazy_transactions?`. If `raw_connection` is used to get a reference to the underlying database connection, the behaviour is disabled and transactions are opened eagerly, as we can't know how the connection will be used. However when the connection is checked back into the pool, we can assume that the application won't use the reference again and reenable lazy transactions. This prevents a single `raw_connection` call from disabling lazy transactions for the lifetime of the connection.
-
由 Ryuta Kamizono 提交于
Since fe9547b6, numericality validator would parse raw value only when a value came from user to work type casting to a value from database. But that was caused a regression that the validator would work against getter value instead of parsed raw value, a getter is sometimes customized by people. #33550 There we never guarantees that the value before type cast was going to the used in this validation (actually here is only place that getter value might not be used), but we should not change the behavior unless there is some particular reason. The purpose of fe9547b6 is to work type casting to a value from database. We could achieve the purpose by using `read_attribute`, without using getter value. Fixes #33550.
-
由 utilum 提交于
Six Mocha calls prove quite resistant to Minitestification. For example, if we replace ``` ActiveRecord::Associations::HasManyAssociation .any_instance .expects(:reader) .never ``` with `assert_not_called`, Minitest wisely raises ``` NameError: undefined method `reader' for class `ActiveRecord::Associations::HasManyAssociation' ``` as `:reader` comes from a deeply embedded abstract class, `ActiveRecord::Associations::CollectionAssociation`. This patch tackles this difficulty by adding `ActiveSupport::Testing::MethodCallAsserts#assert_called_on_instance_of` which injects a stubbed method into `klass`, and verifies the number of times it is called, similar to `assert_called`. It also adds a convenience method, `assert_not_called_on_instance_of`, mirroring `assert_not_called`. It uses the new method_call_assertions to replace the remaining Mocha calls in `ActiveRecord` tests. [utilum + bogdanvlviv + kspath]
-
由 utilum 提交于
-
- 11 8月, 2018 2 次提交
-
-
由 Yasuo Honda 提交于
Related to #33520
-
由 Dillon Welch 提交于
The first thing this method does is run on the argument. This change passes in a string so we don't allocate a bunch of unnecessary extra strings by calling to_s on a symbol over and over.
-
- 08 8月, 2018 2 次提交
-
-
由 Kazuhiro Sera 提交于
-
由 Kazuhiro Sera 提交于
-
- 03 8月, 2018 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 02 8月, 2018 3 次提交
-
-
由 Alireza Bashiri 提交于
What? From now on when `accepts_nested_attributes_for` defined and `extend` option added the overwritten `build` method being called. [Alireza Bashiri, Martins Polakovs]
-
由 Britni Alexander 提交于
-
由 Alberto Almagro 提交于
This commit follows the path we started at commit #ea4f0e2b and continued at PR #33229.
-
- 01 8月, 2018 3 次提交
-
-
由 Britni Alexander 提交于
-
由 Ryuta Kamizono 提交于
This reverts commit d162188d, reversing changes made to 35767828. Reason: #24131 conflicts the #5153's default order contract, it means that existing apps would be broken by that change. We don't want to break existing apps without a deprecation cycle.
-
由 Ryuta Kamizono 提交于
-
- 31 7月, 2018 1 次提交
-
-
由 Ryuta Kamizono 提交于
Since 9ac7dd47, class level `update`, `destroy`, and `delete` were placed in the `Persistence` module as class methods. But `Relation#update` without passing ids which was introduced at #11898 is not a class method, and it was caused the extra scoping regression #33470. I moved the relation method back into the `Relation` to fix the regression. Fixes #33470.
-