aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/schema/schema.rb
Commit message (Collapse)AuthorAgeFilesLines
* Don't try to get the subclass if the inheritance column doesn't existUjjwal Thaakar2014-01-141-0/+5
| | | | | | | The `subclass_from_attrs` method is called even if the column specified by the `inheritance_column` setting doesn't exist. This prevents setting associations via the attributes hash if the association name clashes with the value of the setting, typically `:type`. This worked previously in Rails 3.2.
* Fix: ActiveRecord::Store TypeError conversion when using YAML coderThales Oliveira2014-01-061-0/+1
| | | | | | | | | | Renaming the test accordingly to its behaviour Adding 'Fixes' statement to changelog Improving tests legibility & changelog Undoing mistakenly removed empty line & further improving changelog
* Building new records with enum scopes now works as expectedGodfrey Chan2014-01-031-4/+0
| | | | | | | | | | | | | | | | | | | | | | Previously, this would give an `ArgumentError`: class Issue < ActiveRecord::Base enum :status, [:open, :finished] end Issue.open.build # => ArgumentError: '0' is not a valid status Issue.open.create # => ArgumentError: '0' is not a valid status PR #13542 muted the error, but the issue remains. This commit fixes the issue by allowing the enum value to be written directly via the setter: Issue.new.status = 0 # This now sets status to :open Assigning a value directly via the setter like this is not part of the documented public API, so users should not rely on this behavior. Closes #13530.
* Fix the enums writer methodsRobin Dupret2014-01-011-0/+4
| | | | | | | | | | | Previously, the writer methods would simply check whether the passed argument was the symbol representing the integer value of an enum field. Therefore, it was not possible to specify the numeric value itself but the dynamically defined scopes generate where clauses relying on this kind of values so a chained call to a method like `find_or_initialize_by` would trigger an `ArgumentError`. Reference #13530
* Prevent invalid code when using dynamic finders with Ruby's reserved words.Lauro Caetano2013-12-111-0/+1
| | | | | | | | | | | | | | | | | | | | | The dynamic finder was creating the method signature with the parameters name, which may have reserved words and this way creating invalid Ruby code. Closes: #13261 Example: # Before Dog.find_by_alias('dog name') # Was creating this method def self.find_by_alias(alias, options = {}) # After Dog.find_by_alias('dog name') # Will create this method def self.find_by_alias(_alias, options = {})
* Use 1.9 Hash syntax consistentlyPablo Torres2013-11-051-1/+1
|
* Convert schema file to ruby 1.9 style hashCarlos Antonio da Silva2013-11-041-214/+214
|
* Style fixes on test schema fileCarlos Antonio da Silva2013-11-041-6/+6
|
* Explicit mapping for enumYury Korolev2013-11-021-0/+1
|
* Added ActiveRecord::Base#enum for declaring enum attributes where the values ↵David Heinemeier Hansson2013-11-021-0/+1
| | | | map to integers in the database, but can be queried by name
* scope_chain should not be mutated for other reflectionsNeeraj Singh2013-10-141-0/+16
| | | | | | | | | | | Currently `scope_chain` uses same array for building different `scope_chain` for different associations. During processing these arrays are sometimes mutated and because of in-place mutation the changed `scope_chain` impacts other reflections. Fix is to dup the value before adding to the `scope_chain`. Fixes #3882.
* Use the proper encoding comment on the fileRafael Mendonça França2013-08-061-0/+2
|
* adding a weird test caseAaron Patterson2013-08-061-0/+1
|
* Add test to AR's counter_cache_test.rbTakehiro Adachi2013-05-181-0/+1
| | | | | | | According to https://github.com/rails/rails/blob/b601399b72ab56cc01368f02615af99f45d1 4f02/activerecord/lib/active_record/counter_cache.rb#L14, u can pass more then one association to the `reset_counters` method.
* Dump the 'using' options for a SQL index into the schema.Ken Mazaika2013-03-271-0/+1
|
* Update other counter caches on destroyIan Young2013-03-201-3/+5
|
* Refactor Person/Friendship relationships to be more intuitiveMack Earnhardt2013-03-171-1/+2
| | | | | | | | PR #5210 added a Friendship model to illustrate a bug, but in doing so created a confusing structure because both belongs_to declarations in Friendship referred to the same side of the join. The new structure maintains the integrity of the bug test while changing the follower relationship to be more useful for other testing.
* Merge pull request #9597 from senny/9110_serialized_not_null_defaultRafael Mendonça França2013-03-071-0/+1
|\ | | | | test case for `serialize` default values.
| * test case for `serialize` default values.Yves Senn2013-03-071-0/+1
| | | | | | | | Closes #9110
* | Merge pull request #9105 from bemurphy/cache_key_updated_onRafael Mendonça França2013-03-071-0/+2
|\ \ | |/ |/| | | | | | | | | cache_key consults updated_on timestamp if present Conflicts: activerecord/CHANGELOG.md
| * cache_key consults updated_on timestamp if presentBrendon Murphy2013-02-261-0/+2
| | | | | | | | | | - Extract max timestamp retrieval for cache_key - Update changelog for cache_key changes
* | Revert "Merge pull request #9207 from dylanahsmith/mysql-quote-numeric"Steve Klabnik2013-02-271-2/+0
|/ | | | | This reverts commit 408227d9c5ed7de26310d72a1a99c1ee02311c63, reversing changes made to dca0b57d03deffc933763482e615c3cf0b9a1d97.
* active_record: Quote numeric values compared to string columns.Dylan Smith2013-02-071-0/+2
|
* Prevent Relation#merge from collapsing wheres on the RHSJon Leighton2013-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | This caused a bug with the new associations implementation, because now association conditions are represented as Arel nodes internally right up to when the whole thing gets turned to SQL. In Rails 3.2, association conditions get turned to raw SQL early on, which prevents Relation#merge from interfering. The current implementation was buggy when a default_scope existed on the target model, since we would basically end up doing: default_scope.merge(association_scope) If default_scope contained a where(foo: 'a') and association_scope contained a where(foo: 'b').where(foo: 'c') then the merger would see that the same column is representated on both sides of the merge and collapse the wheres to all but the last: where(foo: 'c') Now, the RHS of the merge is left alone. Fixes #8990
* Serialized attribute can be serialized in an integer columnRafael Mendonça França2012-12-211-0/+1
| | | | Fix #8575
* Make sure the tests pass in the case closer to described in #8195Rafael Mendonça França2012-12-101-0/+1
| | | | | | Conflicts: activerecord/test/models/bulb.rb activerecord/test/schema/schema.rb
* arel columns can be used for grouping so that "weird" column names are usableAaron Patterson2012-11-151-0/+1
|
* Remove ActiveRecord::ModelJon Leighton2012-10-261-6/+0
| | | | | | | | | | In the end I think the pain of implementing this seamlessly was not worth the gain provided. The intention was that it would allow plain ruby objects that might not live in your main application to be subclassed and have persistence mixed in. But I've decided that the benefit of doing that is not worth the amount of complexity that the implementation introduced.
* Fix reset_counters() crashing on has_many :through associations.lulalala2012-10-021-0/+1
| | | | | The counter column name in the intermediate model need to be access via the through reflection.
* Accept belongs_to assoc. keys in ActiveRecord queriesbeerlington2012-09-111-0/+1
| | | | | | | | | | | | | Allows you to specify the model association key in a belongs_to relationship instead of the foreign key. The following queries are now equivalent: Post.where(:author_id => Author.first) Post.where(:author => Author.first) PriceEstimate.where(:estimate_of_type => 'Treasure', :estimate_of_id => treasure) PriceEstimate.where(:estimate_of => treasure)
* Fix pluck when columns/tables are reserved words.Ian Lesperance2012-09-051-0/+4
|
* test cleanup, remove ruby_type because it's no longer neededYves Senn2012-09-031-2/+1
| | | | | All tests with a custom inheritance_column use the `Vegtable` model. The field ruby_type on the Company models is no longer needed
* rewrite inheritance tests with a custom inheritance_columnYves Senn2012-09-031-0/+1
| | | | | | previously the tests with and without a custom `inheritance_column` used the same models. Since the model then has both fields this can lead to false positives.
* set the configured #inheritance_column on #become (#7503)Yves Senn2012-09-031-0/+5
| | | | | | | | | | | | | | | I had to create a new table because I needed an STI table, which does not have both a "type" and a "custom_type" the test fails with: 1) Error: test_alt_becomes_works_with_sti(InheritanceTest): NoMethodError: undefined method `type=' for #<Cabbage id: 1, name: "my cucumber", custom_type: "Cucumber"> /Users/username/Projects/rails/activemodel/lib/active_model/attribute_methods.rb:432:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/attribute_methods.rb:100:in `method_missing' /Users/username/Projects/rails/activerecord/lib/active_record/persistence.rb:165:in `becomes' test/cases/inheritance_test.rb:134:in `test_becomes_works_with_sti' test/cases/inheritance_test.rb:140:in `test_alt_becomes_works_with_sti'
* reset_counters() was crashing when there were multiple belongs_to ↵Dave Desrochers2012-08-211-0/+6
| | | | | | associations with the same foreign key. This closes #5200.
* Modity the :json_data_empty attribute from `:null => false` to `:null => true`Yasuo Honda2012-07-281-1/+1
| | | | | | | to address ORA-01400 errors with Oracle enhanced adapter. The original commit 3c0bf043 requires :json_data_empty attribute has empty string OR null, then setting `:default => ""` is enough.
* Modify the preference attribute from `:null => false` to `:null => true`Yasuo Honda2012-07-271-1/+1
| | | | | | | | to address ORA-01400 errors with Oracle enhanced adapter. Issue #4856 had been fixed and tested with the attribute `:null => false, :default => ""`. Now `:null => false` attribute is not necessary to test this issue.
* Use string datatype for the setting attributeYasuo Honda2012-07-261-1/+1
| | | | to make store works all database adapters.
* This pull requests addresses ORA-01400 errors and also supports #6115 issue ↵Yasuo Honda2012-07-251-1/+1
| | | | | | | | | tested. Issue #6115 has been fixed and tested with the attribute `:null => false, :default => ""` However `:null => false` attribute is not necessary to test this issue, which causes many ORA-01400 errors with Oracle enhanced adapter.
* Revert "Merge pull request #6344"Piotr Sarnacki2012-06-251-1/+0
| | | | | | | | | | | | | | 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
* Improve the derivation of HABTM assocation join table namesAndrew White2012-06-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge pull request #6238 from pwnall/pgsql_bytea_limitAaron Patterson2012-05-171-0/+1
|\ | | | | Postgresql doesn't accept limits on binary (bytea) columns.
| * Postgresql doesn't accept limits on binary (bytea) columns.Victor Costan2012-05-091-0/+1
| |
* | SQLite3 doesn't actually support the 'time' type.Erich Menge2012-05-151-0/+1
| |
* | MySQL doesn't allow default values for blobs.Rafael Mendonça França2012-05-131-2/+2
| |
* | Custom coders support for ActiveRecord::Store. JSON, YAML, Marshal can be ↵Andrey Voronkov2012-05-091-0/+2
|/ | | | used out of the box.
* Modify test schema.rb to use a VARCHAR rather than a TEXT when a default is ↵Michael Pearson2012-05-051-1/+3
| | | | required to keep MySQL happy.
* Duplicate column_defaults properly (closes #6115)Piotr Sarnacki2012-05-041-0/+1
|
* whitespace :scissors:Jon Leighton2012-03-301-1/+1
|
* Merge pull request #5334 from courtland/masterJon Leighton2012-03-301-0/+5
|\ | | | | Fix deleting from a HABTM join table upon destroying an object of a model with optimistic locking enabled.