aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #19718 from eagletmt/find_by-without-argYves Senn2015-04-283-4/+17
|\ | | | | | | Raise ArgumentError when find_by receives no arguments
| * Raise ArgumentError when find_by receives no argumentsKohei Suzuki2015-04-112-4/+12
| | | | | | | | | | | | | | | | | | It fixes the strange error saying undefined method `take'. ``` RelationTest#test_find_by_without_arg_behaves_same_with_find_by({}): NoMethodError: undefined method `take' for #<ActiveRecord::QueryMethods::WhereChain:0x007f9c55db1d68> ```
* | remove trailing whitespace. [ci skip]Yves Senn2015-04-271-1/+1
| |
* | Merge pull request #19918 from vngrs/becomes_missing_note_about_stiYves Senn2015-04-271-1/+3
|\ \ | | | | | | | | | Add note about sti column value to becomes method [ci skip]
| * | Add note about sti column value to becomes method [ci skip]Mehmet Emin İNAÇ2015-04-271-2/+4
|/ /
* | test, for `create_table` and `foreign_key: true` no-op. Closes #19794.Yves Senn2015-04-271-0/+20
| | | | | | | | | | | | | | | | | | | | Add a test-case to make sure that `create_table` with a `foreign_key: true` and an adapter without foreign key support does not blow up. Motivated by #19794. Originating from: https://github.com/rails/rails/commit/99a6f9e60ea55924b44f894a16f8de0162cf2702#commitcomment-10855210
* | Revert "Merge pull request #17920 from ↵Yves Senn2015-04-272-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calebthompson/dont-rely-on-environment-task-for-schema-load" This reverts commit 08ff4ccbbb3fb143a02e6752efb974a4bcfcd3bb, reversing changes made to 6c9ed6dbc62450cdb87559afd15798305e069146. Caused by #17920. Closes #19545. This patch introduced regressions because initializers were no longer loaded. Specifically missing inflections result in broken restores of the database.
* | Don't document internal monkey patch for mysql gem [ci skip]Zachary Scott2015-04-261-1/+3
| | | | | | | | Also added reference for to_date, as it belongs historically.
* | use a more descriptive example. [ci skip]Yves Senn2015-04-241-6/+4
| | | | | | | | follow up to 107526e809ea2b6de8b2775ecf83e55d60833206
* | docs for `create_table` and non-int primary keys. [ci skip]Yves Senn2015-04-241-0/+17
| |
* | Silence warning from MySQL::Error object in testPrem Sichanugrist2015-04-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | When running Active Record MySQL test, this warning is printed in the console: warning: instance variable errno not initialized It turns out that this is a warning from `mysql` gem in MySQL::Error object. However, since the `mysql` gem is no longer maintained, and there won't be a newer version, it make sense for us to just silence this warning to make the output cleaner.
* | Merge pull request #18880 from mudge/timestamp-index-bugRafael Mendonça França2015-04-233-0/+20
|\ \ | | | | | | | | | Fix missing index when using timestamps with index
| * | Fix missing index when using timestamps with indexPaul Mucur2015-04-153-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `index` option used with `timestamps` should be passed to both `column` definitions for `created_at` and `updated_at` rather than just the first. This was happening because `Hash#delete` is used to extract the `index` option passed to `timestamps`, thereby mutating the `options` hash in-place. Now take a copy of the `options` before deleting so that the original is not modified.
* | | Fix a minor grammatical issue in the docRomain Goyet2015-04-231-1/+1
| | |
* | | pass over CHANGELOGs. [ci skip]Yves Senn2015-04-221-4/+6
| | |
* | | Rename association option :class to :anonymous_classAndrew White2015-04-219-25/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 1f006c an option was added called :class to allow passing anonymous classes to association definitions. Since using :class instead of :class_name is a fairly common typo even amongst experienced developers this can result in hard to debug errors arising in raise_on_type_mismatch? To fix this we're renaming the option from :class to :anonymous_class as that is a more correct description of what the option is for. Since this was an internal, undocumented option there is no need for a deprecation. Fixes #19659
* | | Use _read_attribute(primary_key) instead of idRafael Mendonça França2015-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This will avoid the indirection of having calling id since we already know which is the primary key column. Also this will make explicit the behavior since it is not clear that id gets the right primary key value and not just the value of the "id" column.
* | | Merge pull request #19783 from vngrs/raise_error_on_touch_if_object_is_staleSean Griffin2015-04-192-3/+25
|\ \ \ | | | | | | | | Raise StaleObjectError if touched object is stale and locking is enabled
| * | | Raise StaleObjectError if touched object is stale and locking is enabledMehmet Emin İNAÇ2015-04-192-3/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #19776 change test variable names and use more verbose on method less verbose use _read_attribute instead of send
* | | | Autosave existing records on HMT associations when the parent is newSean Griffin2015-04-183-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To me it seems like this should only be the case if `autosave: true` is set on the association. However, when implemented that way, it caused issues with has many associations, where we have explicit tests stating that child records are updated when the parent is new, even if autosave is not set (presumably to update the parent id, but other changed attributes would be persisted as well). It's quirky, but at least we should be consistently quirky. This constitutes a minor but subtle change in behavior, and therefore should not be backported to 4.2 and earlier. Fixes #19782
* | | | Merge pull request #19787 from Senjai/patch-2Yves Senn2015-04-181-5/+4
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | [Doc] Encourage users to user super to override methods. [ci skip]
| * | | Encourage users to user super to override methods.Richard Wilson2015-04-161-5/+4
|/ / / | | | | | | IMO we shouldn't encourage users to use methods they shouldn't need to know about. As Song (in this example) inherits from ActiveRecord, we can use super here instead to get the same effect with the bonus of not knowing how active record actually implements these methods.
* | | Merge pull request #19763 from jonatack/fix-typos-in-docsYves Senn2015-04-152-3/+3
|\ \ \ | |/ / |/| | Fix typos and improve the documentation
| * | Fix typos and improve the documentationJon Atack2015-04-152-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a squash of the following commits, from first to last: - Fix minor, random things I’ve come across lately that individually did not seem worth making a PR for, so I saved them for one commit. One common error is using “it’s” (which is an abbreviation of “it is”) when the possessive “its” should be used for indicating possession. - Changes include the name of a test, so remove the `[skip ci]` (thanks @senny). - Line wrap the changes at 80 chars and add one more doc fix. - Add a missing line wrap in the Contributing to Ruby on Rails Guide. - Line wrap the `TIP` section in the Contributing to Ruby on Rails Guide as well. Rendering the guide locally with `bundle exec rake guides:generate` did not show any change in on-screen formatting after adding the line wrap. The HTML generated is (extra line added to illustrate where the line wrap takes place): <div class="info"><p>Please squash your commits into a single commit when appropriate. This simplifies future cherry picks and also keeps the git log clean.</p></div> - Squash commits.
* | | Revert "Merge pull request #19755 from yuki24/activerecord/support-for-set"Yves Senn2015-04-153-15/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 524d40591eaa2f4d007409bfad386f6b107492eb, reversing changes made to 34d3a6095100245283861ef480a54d0643bbee4c. Reasoning behind the revert are in the PR discussion: https://github.com/rails/rails/pull/19755 - This means that types can no longer cast to/from `Set`, and reasonably work with `where` (we already have this problem for `array`/`json` types on pg) - This adds precedent for every other `Enumerable`, and we can't target `Enumerable` directly. - Calling `to_a` on a `Set` is reasonable.
* | Merge pull request #19755 from yuki24/activerecord/support-for-setYves Senn2015-04-143-0/+15
|\ \ | | | | | | | | | Add support for Set to Relation#where
| * | Add support for Set to Relation#whereYuki Nishijima2015-04-133-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously `#where` used to treat `Set`objects as nil, but now it treats them as an array: set = Set.new([1, 2]) Author.where(:id => set) # => SELECT "authors".* FROM "authors" WHERE "authors"."id" IN (1, 2)
* | | Merge pull request #19753 from jonatack/use-ruby-2-2-2Guillermo Iguaran2015-04-131-1/+1
|\ \ \ | |/ / |/| | Upgrade to Ruby 2.2.2
| * | Upgrade to Ruby 2.2.2Jon Atack2015-04-141-1/+1
| | | | | | | | | | | | and fix the grammar in the ruby_version_check.rb user message.
* | | Merge pull request #19741 from greysteil/add-note-about-partial-index-supportYves Senn2015-04-131-0/+2
|\ \ \ | | | | | | | | | | | | Document that partial indexes are only supported by Postgres and SQLite.
| * | | Document that partial indexes are only supported by Postgres and SQLite.Grey Baker2015-04-132-0/+8
|/ / / | | | | | | | | | Fixes #18106
* | | Add a note regarding add_column restricted API [ci skip]Zachary Scott2015-04-121-0/+4
| | | | | | | | | | | | | | | | | | We should document current behavior, and this is design of API for now. Closes #17597
* | | Apply edits from @senny to close #19397 [ci skip]Zachary Scott2015-04-121-4/+1
| | |
* | | Merge branch 'patch-1'Zachary Scott2015-04-121-3/+5
|\ \ \
| * | | Enhance documentation of pluck with a hint to ids [ci skip]wingfire2015-04-121-3/+5
| | | | | | | | | | | | | | | | | | | | Documentation is giving an example that can be replaced by a more dry command. Give a hint that ids can be used instead of pluck(:id).
* | | | Fix (intermittent?) test failureMatthew Draper2015-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We don't actually need to enumerate the possible types here any more; that dates back to before e105e599e706780905d4c348394da989de3b200f, when they were symbols, and indistinguishable from other options.
* | | | Merge pull request #19721 from vngrs/validates_presence_of_missing_noteRobin Dupret2015-04-111-0/+4
|\ \ \ \ | | | | | | | | | | Missing note on validates_presence_of validation [ci skip]
| * | | | Missing note on validates_presence_of validation [ci skip]Mehmet Emin İNAÇ2015-04-111-0/+4
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Without this note, someone can misunderstand the usage of validates_presence_of method add missing note for the validates_presence_of
* / | | Use `use_transactional_tests` in Active RecordPrem Sichanugrist2015-04-102-2/+2
|/ / / | | | | | | | | | | | | | | | `use_transactional_fixtures` was deprecated in favor of `use_transactional_tests` in Rails 5.0. This removes one warning while running test suite.
* | | fix documentation for SchemaStatements#add_foreign_keySimon Stemplinger2015-04-081-2/+2
| | | | | | | | | | | | | | | | | | The implementation of the generation of the foreign key name was changed between Rails 4.2.0 and 4.2.1 from a random to a deterministic behavior, however the documentation still describes the old randomized behavior.
* | | Batch touch parent recordsArthur Neves2015-04-087-7/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [fixes #18606] Make belongs_to use touch over touch_later when running the callbacks. Add more tests and small method rename Thanks Jeremy for the feedback.
* | | Merge branch 'fix_uniqueness_validation_when_value_is_out_of_range'Sean Griffin2015-04-083-0/+32
|\ \ \
| * | | Fix uniqueness validation with out of range valueAndrey Voronkov2015-04-083-0/+31
|/ / /
* | | Merge pull request #19680 from vngrs/make_join_model_name_const_privateRafael Mendonça França2015-04-071-3/+1
|\ \ \ | | | | | | | | Change join model name constant to private constant
| * | | Change join model name constant to private constantMehmet Emin İNAÇ2015-04-071-3/+1
| | | | | | | | | | | | | | | | This will resolve the fixme message which is about making constant invisible.
* | | | Merge pull request #17574 from kamipo/charset_collation_optionsJeremy Kemper2015-04-078-19/+172
|\ \ \ \ | | | | | | | | | | | | | | | Add charset and collation options support for MySQL string and text columns.
| * | | | Add `:charset` and `:collation` options support for MySQL string and text ↵Ryuta Kamizono2015-03-068-19/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | columns Example: create_table :foos do |t| t.string :string_utf8_bin, charset: 'utf8', collation: 'utf8_bin' t.text :text_ascii, charset: 'ascii' end
* | | | | Merge pull request #19647 from codeout/association_updateRafael Mendonça França2015-04-062-0/+4
|\ \ \ \ \ | | | | | | | | | | | | Fix a regression introduced by removing unnecessary db call when replacing
| * | | | | Fix a regression introduced by removing unnecessary db call when replacingShintaro Kojima2015-04-042-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | When replacing a has_many association with the same one, there is nothing to do with database but a setter method should still return the substituted value for backward compatibility.
* | | | | | Merge pull request #19448 from tgxworld/fix_activesupport_callbacks_clash_on_runRafael Mendonça França2015-04-065-19/+18
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix AS::Callbacks raising an error when `:run` callback is defined.