aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #6838 from kennyj/added_registration_taskCarlos Antonio da Silva2012-07-071-0/+16
|\ | | | | Allow to register database tasks from different adapters
| * Added a feature to add a database task. e.g. OracleDatabaseTaskskennyj2012-06-241-0/+16
| |
* | Relation#inspect handles doesn't perform a new query on an already-loaded ↵Jon Leighton2012-07-071-1/+12
| | | | | | | | relation
* | Merge pull request #6997 from kennyj/fix_stored_attributesJosé Valim2012-07-072-0/+14
|\ \ | | | | | | Added *instance_writer: false* to stored/serialized attributes.
| * | Added *instance_writer: false* for stored/serialized attributes.kennyj2012-07-072-0/+14
| | |
* | | Limit the number of records in Relation#inspectDamien Mathieu2012-07-061-0/+5
|/ / | | | | | | While it's interesting to have the results array, it can make a console or a webpage freeze if there are a lot of them. So this limits the number of records displayed in #inspect to 10 and tells how much were effectively found.
* | Merge pull request #6985 from sidonath/disable-query-cache-for-locksRafael Mendonça França2012-07-061-0/+8
|\ \ | | | | | | Disable query cache for lock queries
| * | Disable query cache for lock queriesDamir Zekic2012-07-061-0/+8
| | | | | | | | | | | | Fixes #867
* | | Show the records in Relation#inspectJon Leighton2012-07-061-0/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason for removing the previous implementation of `#inspect` was that it hid from you that you were dealing with a `Relation` rather than an `Array`. But it is still useful to be able to see the records, particularly if you're writing something like the following in tests: assert_equal [foo], Post.where(:bar) If the assertion fails, you want to see what records were actually loaded. So this implementation makes it clear that you've got a `Relation`, but also shows your records.
* | Merge pull request #6927 from parndt/patch-3Carlos Antonio da Silva2012-07-051-1/+1
|\ \ | | | | | | Make ArgumentError message more consistent in nested attributes
| * | Made ArgumentError messages consistent.Philip Arndt2012-07-061-1/+1
| | |
* | | fix quoting for ActiveSupport::Duration instancesFrancesco Rodriguez2012-07-042-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes quoting for ActiveSupport::Duration instances: # before >> ActiveRecord::Base.connection.quote 30.minutes => "'--- 1800\n...\n'" # after >> ActiveRecord::Base.connection.quote 30.minutes => "1800" Also, adds a test for type casting ActiveSupport::Duration instances. Related to #1119.
* | | remove duplicate requires of mocha.Aaron Patterson2012-07-031-1/+0
| | | | | | | | | | | | | | | Mocha is already required by AS::TestCase, so remove the duplicate requires.
* | | Refactor references schema definitionsAleksey Magusev2012-07-031-16/+12
| | |
* | | Make references statements reversibleAleksey Magusev2012-07-031-3/+27
| | |
* | | Add references schema statementsAleksey Magusev2012-07-032-1/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples: add_reference :products, :supplier, polymorphic: true, index: true remove_reference :products, :user `add_belongs_to` and `remove_belongs_to` are acceptable.
* | | Don't mark the store as changed if an attribute isn't changed.kennyj2012-07-031-0/+5
|/ /
* | Use strings for the table namesRafael Mendonça França2012-07-011-1/+1
| | | | | | | | connection.tables returns an array of strings
* | Unify the collation API for the database adptersRafael Mendonça França2012-07-013-8/+8
| |
* | Merge pull request #6914 from lexmag/migration_testsRafael Mendonça França2012-07-012-37/+11
|\ \ | | | | | | Refactor migration test_helper
| * | Refactor migration test_helperAleksey Magusev2012-07-012-37/+11
| | | | | | | | | | | | and create_join_table_test
* | | Merge pull request #6913 from lexmag/column_exists_optionsCarlos Antonio da Silva2012-06-301-6/+12
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add :default and :null options to column_exists? method Examples: column_exists?(:testings, :taggable_id, :integer, null: false) column_exists?(:testings, :taggable_type, :string, default: 'Photo')
| * | | Add more options to column_exists? methodAleksey Magusev2012-06-301-6/+12
| |/ / | | | | | | | | | Also fix failures in check options for nil
* | | Extract collation tasks to database tasks.kennyj2012-07-014-0/+68
| | |
* | | Remove ActiveRelation#inspectBrian Cardarella2012-06-291-1/+1
| | |
* | | Support collate and ctype on the PostgreSQL.kennyj2012-06-293-0/+20
| | |
* | | Remove some aggregation tests related to composed_ofCarlos Antonio da Silva2012-06-282-21/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since composed_of was removed in 051747449e7afc817c599e4135bc629d4de064eb, these tests were working "by mistake", due to the matching "address" string in the error message, but with a different error message than the expected multiparameter assignment error. Since "address" is not an attribute from Customer anymore, the error was "undefined method klass for nil", where nil was supposed to be the column object.
* | | Move newly added multiparameter tests to base_test fileCarlos Antonio da Silva2012-06-282-35/+36
| | | | | | | | | | | | | | | All other multiparameter assignment tests are in the same file, so it makes sense to have all of them here.
* | | Skip test_setting_time_attribute because Oracle databaseYasuo Honda2012-06-281-0/+2
| | | | | | | | | | | | does not have TIME data type.
* | | fix: limit of enum columns of mysqlYamada Masaki2012-06-284-0/+39
| | |
* | | Fixes #6825, adds tests covering cases and error possibilities, also changes ↵Mauricio Linhares2012-06-271-0/+33
|/ / | | | | | | SQLite3 driver to correctly generate a time column instead of datetime
* | Address test_basic_model test error with Oracle enhanced adapterYasuo Honda2012-06-271-1/+1
| | | | | | | | which ids start from 1000 as a default.
* | Setup each test with default ActiveRecord timezone settings to ensure each ↵Erich Menge2012-06-261-20/+8
| | | | | | | | | | | | test starts with a clean slate. Fixes #6867.
* | Merge pull request #6544 from flexoid/issue-6431Piotr Sarnacki2012-06-251-0/+4
|\ \ | | | | | | exists?(false) returns false
| * | exists?(false) returns falseEgor Lynko2012-06-251-0/+4
| | | | | | | | | | | | `FinderMethods#exists?` finder method now returns *false* with the *false* argument
* | | Ensure Arel columns are typecasted properly when grouping with calculationCarlos Antonio da Silva2012-06-251-3/+7
|/ / | | | | | | Fix build issue with postgresql.
* | Revert "Merge pull request #6344"Piotr Sarnacki2012-06-253-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit needs to be reverted because it introduces difficulties when using sqlite3 in development and other databases in production. This happens because when you create time column in sqlite3, it's dumped as datetime in schema.rb file. This reverts commit 57d534ee9e441d078fcc161c0c78ebaa5aacd736, reversing changes made to 20f049fb50daee0c5e5a69b55b529af5737e8e3f. Conflicts: activerecord/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb
* | Stop assuming strings for grouped calculationsErnie Miller2012-06-241-0/+5
|/ | | | | | | | | | | | | | | Execute_grouped_calculation is one of those places where ActiveRecord forgets that it has ARel underpinnings, and assumes that the values provided to group_values are strings. This artificially hobbles otherwise functional code. This patch stops assuming that incoming values respond to to_sym, stops using string interpolation for table aliases on objects that support aliasing, and stops unnecessarily joining group_values on the relation. Additionally, it calls to_sql, if available, on objects sent to column_alias_for, in order to get a more reasonable alias string than a non-string's default to_str method.
* Move tasks(rake) tests to under the tasks dir.kennyj2012-06-244-0/+0
|
* Add test cases for 46492949b8c09f99db78b9f7a02d039e7bc6a702Andrew White2012-06-231-0/+52
|
* Allow precision option for postgresql datetimesTony Schneider2012-06-221-0/+65
| | | | | | | | | | This patch addresses the difficulty of retrieving datetime fields. By default, the database holds a higher precision than the time as a String. This issue is discussed at length at the following links: - [#3519](https://github.com/rails/rails/issues/3519) - [#3520](https://github.com/rails/rails/issues/3520) Also, kudos to @mattscilipoti
* Merge pull request #6800 from mschneider/dynamic_finders_for_aliased_attributesRafael Mendonça França2012-06-224-1/+14
|\ | | | | Dynamic finders for aliased attributes
| * made dynamic finders alias_attribute awareMaximilian Schneider2012-06-224-1/+14
| | | | | | | | | | previously dynamic finders only worked in combination with the actual column name and not its alias defined with #alias_attribute
* | Refactor pluck with multiple columnsCarlos Antonio da Silva2012-06-221-10/+16
| | | | | | | | | | | | | | | | | | | | | | | | Ensure it works with mix of symbols and strings, and with a select clause possibly containing more than one column. Also remove support for pluck with an array of columns, in favor of passing the list of attributes: Model.pluck(:a, :b) See comments: https://github.com/rails/rails/pull/6500#issuecomment-6030292
* | ActiveRecord#pluck now accepts multiple columnsjeroeningen2012-06-221-1/+16
| |
* | Fix serializable_hash with xml generation and default :except optionCarlos Antonio da Silva2012-06-222-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When generating xml with a custom implementation of serializable_hash, if using the :except option, it was being overriden by the default AR implementation that attempts to ignore the inheritance column from STI automatically. So, if you have an implementation like this: def serializable_hash(options={}) super({ except: %w(some_attr) }.merge!(options)) end The :except option was correctly being used for :json generation, but not for :xml, because the options hash already contained the :except key with the inheritance column, thus overriding the customization. This commit fixes this problem by removing the :except logic from the xml serializer, that happened before calling serializable_hash. Since serializable_hash also does the same check for inheritance column, this logic was duplicated in both places, thus it's safe to remove it from xml serializer (see ActiveRecord::Serialization#serializable_hash). This is an attempt to solve issue #2498, that claims for a "Single transformation API for both xml and json representations".
* | Add some coverage for AR serialization with serializable_hashCarlos Antonio da Silva2012-06-223-26/+113
| | | | | | | | | | | | ActiveRecord json/xml serialization should use as base serializable_hash, provided by ActiveModel. Add some more coverage around options :only and :except for both json and xml serialization.
* | disallow mutating a relation once loadedJon Leighton2012-06-221-0/+27
| |
* | Improve the derivation of HABTM assocation join table namesAndrew White2012-06-226-18/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the derivation of HABTM join table name to take account of nesting. It now takes the table names of the two models, sorts them lexically and then joins them, stripping any common prefix from the second table name. Some examples: Top level models (Category <=> Product) Old: categories_products New: categories_products Top level models with a global table_name_prefix (Category <=> Product) Old: site_categories_products New: site_categories_products Nested models in a module without a table_name_prefix method (Admin::Category <=> Admin::Product) Old: categories_products New: categories_products Nested models in a module with a table_name_prefix method (Admin::Category <=> Admin::Product) Old: categories_products New: admin_categories_products Nested models in a parent model (Catalog::Category <=> Catalog::Product) Old: categories_products New: catalog_categories_products Nested models in different parent models (Catalog::Category <=> Content::Page) Old: categories_pages New: catalog_categories_content_pages Also as part of this commit the validity checks for HABTM assocations have been moved to ActiveRecord::Reflection One side effect of this is to move when the exceptions are raised from the point of declaration to when the association is built. This is consistant with other association validity checks.
* | explain listener does not care about time, so use evented listenerAaron Patterson2012-06-201-5/+5
| |