aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
* update copyright notices to 2014. [ci skip]Vipul A M2014-01-012-2/+2
|
* Improve the tests to not call assert_nothing_raisedRafael Mendonça França2014-01-011-4/+1
|
* Merge pull request #13550 from vipulnsward/13437-fixRafael Mendonça França2014-01-013-1/+22
|\ | | | | | | | | | | | | Fix for #13437 Conflicts: activerecord/CHANGELOG.md
| * https://github.com/rails/rails/commit/2075f39d726cef361170218fd16421fc52bed5 ↵Vipul A M2013-12-313-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a8 introduced a regression in includes/preloades by calling `read_attribute` on an association when preloading takes places, instead of using loaded records in `association.target`. tl;dr Records are not made properly available via `read_attribute` when preloding in simultaneous, but value of `@loaded` is already set true, and records concatenated in `association.target` on an association object. When `@loaded` is true we return an object of `AlreadyLoaded` in preload_for. In `AlreadyLoaded` to return preloaded records we make wrong use of `read_attribute`, instead of `target` records. The regression is fixed by making use of the loaded records in `association.target` when the preloading takes place. Fixes #13437
* | Merge pull request #13556 from yahonda/update_mysql_grantRafael Mendonça França2014-01-012-2/+2
|\ \ | | | | | | Update grant statement to address #13549
| * | Change the inexistent database name to inexistent_activerecord_unittestYasuo Honda2014-01-012-2/+2
| | | | | | | | | | | | | | | | | | to make this grant statement described in the document works GRANT ALL PRIVILEGES ON inexistent_activerecord_unittest.* to 'rails'@'localhost';
* | | Add the ability to nullify the `enum` columnAmr Tamimi2014-01-013-1/+43
| | |
* | | Improve tests to use only public APIRafael Mendonça França2013-12-311-3/+2
| | |
* | | Make outer joins on proper parentWashington Luiz2013-12-312-2/+12
|/ / | | | | | | | | Outer joins were being built on the root relation klass rather than the one specified in the join dependency root
* | Allow "url" sub key in database.yml configurationschneems2013-12-303-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently a developer can pass in a YAML configuration that fully specifies connection information: ``` production: database: triage_production adapter: password pool: 5 ``` They can also pass in a string that specifies a connection URL directly to an environment key: ``` production: postgresql://localhost/foo ``` This PR allows the use of both a connection url and specifying connection attributes via YAML through the use of the "url" sub key: ``` production: url: postgresql://localhost/foo pool: 3 ``` This will allow developers to inherit Active Record options such as `pool` from `&defaults` and still use a secure connection url such as `<%= ENV['DATABASE_URL'] %>`. The URL is expanded into a hash and then merged back into the YAML hash. If there are any conflicts, the values from the connection URL are preferred. Talked this over with @josevalim
* | Merge pull request #13536 from schneems/schneems/connection-spec-docsRichard Schneeman2013-12-301-14/+80
|\ \ | | | | | | [ci skip] ConnectionSpecification::Resolver Docs
| * | [ci skip] ConnectionSpecification::Resolver Docsschneems2013-12-301-14/+80
| | | | | | | | | | | | | | | Document the internal interfaces of `ConnectionSpecification::Resolver` Change method name from `config` to `env` to better match the most common use case.
* | | tidy AR CHANGELOG. [ci skip]Yves Senn2013-12-301-4/+7
| | |
* | | Merge pull request #13538 from robin850/patch-14Yves Senn2013-12-301-0/+12
|\ \ \ | | | | | | | | Add a missing changelog entry for #13534 [ci skip]
| * | | Add a missing changelog entry for #13534 [ci skip]Robin Dupret2013-12-301-0/+12
| | |/ | |/|
* | | Remove deprecation warning for FIXTURES_PATHPiotr Sarnacki2013-12-301-6/+0
| |/ |/| | | | | | | | | | | | | FIXTURES_PATH has a bit different case than DatabaseTasks.fixtures_path, which was added along with deprecation. A use case for FIXTURES_PATH could be loading fixtures from a different directory just for a given test run. The implementation is fairly simple, so leaving it as it is won't hurt.
* | Merge pull request #13535 from schneems/schneems/extract-url-logicRafael Mendonça França2013-12-291-34/+79
|\ \ | | | | | | Extract db url connection logic to class
| * | Extract db url connection logic to classschneems2013-12-291-34/+79
| |/
* | Merge pull request #13527 from kuldeepaggarwal/f-independent-specsJosé Valim2013-12-293-3/+6
|\ \ | | | | | | Use user-defined configurations in mysql tests
| * | used user-defined configurations for running tests that might depend on ↵Kuldeep Aggarwal2013-12-293-3/+6
| |/ | | | | | | user's system configuration
* / raise `ArgumentError` exception if `Model.where.not` is called with `nil` ↵Kuldeep Aggarwal2013-12-302-0/+8
|/ | | | argument
* setting `changed_attributes` instance variable if it is already initialized.Kuldeep Aggarwal2013-12-281-1/+1
|
* Merge pull request #13474 from jdelStrother/becomesYves Senn2013-12-272-0/+15
|\ | | | | Copy changed_attributes across to newly become'd records
| * Copy changed_attributes across to newly become'd recordsJonathan del Strother2013-12-272-0/+15
| | | | | | Without this, the original record's values won't get saved, since the partial insertions support (https://github.com/rails/rails/commit/144e8691cbfb8bba77f18cfe68d5e7fd48887f5e) checks for changed values and thinks there are none.
* | Fix failure introduced from #13488schneems2013-12-251-1/+1
| |
* | Cast env to symbol, fixes deprecation warningŁukasz Strzałkowski2013-12-251-1/+1
| | | | | | | | | | | | Warning: DEPRECATION WARNING: Passing a string to ActiveRecord::Base.establish_connection for a configuration lookup is deprecated, please pass a symbol (:development) instead.
* | Avoid getting redefined method warningŁukasz Strzałkowski2013-12-251-0/+1
| | | | | | | | | | | | | | Warning: ~/projects/rails/activerecord/lib/active_record/railtie.rb:140: warning: method redefined; discarding old extend_message ~/projects/rails/activerecord/lib/active_record/errors.rb:104: warning: previous definition of extend_message was here
* | Merge pull request #13478 from schneems/schneems/fix-mysqlGuillermo Iguaran2013-12-252-7/+7
|\ \ | | | | | | Move mysql2 test for when adapter will be loaded
| * | Move mysql2 test for when adapter will be loadedschneems2013-12-242-7/+7
| |/ | | | | | | | | | | When run with only the Mysql adapter, we get this failure: https://travis-ci.org/rails/rails/jobs/15937907#L2416 Porting the test over to only run when mysql2 is loaded
* | Merge pull request #13482 from aayushkhandelwal11/typoArun Agrawal2013-12-251-1/+1
|\ \ | | | | | | Typo rectified commom => common[ci skip]
| * | Typo rectified commom => common[ci skip]Aayush khandelwal2013-12-251-1/+1
| | |
* | | using symbol instead of string in establish_connectionKuldeep Aggarwal2013-12-251-1/+1
| |/ |/|
* | Raise NoDatabaseError when db does not existschneems2013-12-246-2/+41
| | | | | | Building on the work of #13427 this PR adds a helpful error message to the adapters: mysql, mysql2, and sqlite3
* | Deprecate use of string in establish_connection as connection lookupJosé Valim2013-12-247-15/+33
| |
* | Only build a ConnectionSpecification if requiredJosé Valim2013-12-244-56/+56
| |
* | Fix build failures related to the new ENV options in ymlJosé Valim2013-12-242-4/+4
| |
* | Merge pull request #13463 from josevalim/jv-envJosé Valim2013-12-236-53/+58
|\ \ | | | | | | Do not store production information in .yml files
| * | Guarantee the connection resolver handles string valuesJosé Valim2013-12-236-53/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | This commit also cleans up the rake tasks that were checking for DATABASE_URL in different places. In fact, it would be nice to deprecate DATABASE_URL usage in the long term, considering the direction we are moving of allowing those in .yml files.
* | | Tidy up fix for PG extensions quotingCarlos Antonio da Silva2013-12-235-12/+26
| | | | | | | | | | | | | | | Always pass in the column for quote_bound_value and quote using it in case it exists there.
* | | Serialize postgres' hstore, json and array types correctly in AR update methods.Tadas Tamosauskas2013-12-235-4/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #12261. Closes #12395. Conflicts: activerecord/CHANGELOG.md activerecord/test/cases/adapters/postgresql/array_test.rb activerecord/test/cases/adapters/postgresql/json_test.rb
* | | Do not consider PG array columns as number or text columnsCarlos Antonio da Silva2013-12-233-3/+33
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code uses these checks in several places to know what to do with a particular column, for instance AR attribute query methods has a branch like this: if column.number? !value.zero? end This should never be true for array columns, since it would be the same as running [].zero?, which results in a NoMethodError exception. Fixing this by ensuring that array columns in PostgreSQL never return true for number?/text? checks. Since most of the array support was based on the postgres_ext lib, it's worth noting it does the same thing for numeric array columns too: https://github.com/dockyard/postgres_ext/blob/v1.0.0/lib/postgres_ext/active_record/connection_adapters/postgres_adapter.rb#L72 This extended the same logic for text columns to ensure consistency.
* | Tell how to Create a Database in Error Messageschneems2013-12-235-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently if you attempt to use a database that does not exist you get an error: ``` PG::ConnectionBad FATAL: database "db_error" does not exist ``` The solution is easy, create and migrate your database however new developers may not know these commands by memory. Instead of requiring the developer to search for a solution, tell them how to fix the problem in the error message: ``` ActiveRecord::NoDatabase: FATAL: database "db_error" does not exist Run `$ bin/rake db:create db:migrate` to create your database ``` Active Record should not know about `rake db:migrate` so this additional information needs to come from the railtie. Potential alternative implementation suggestions are welcome.
* | Fix comment example in AR enum [ci skip]Carlos Antonio da Silva2013-12-231-1/+1
| |
* | On destroying do not touch destroyed belongs to association.Paul Nikitochkin2013-12-233-1/+22
| | | | | | | | Fixes: #13445
* | Merge pull request #13446 from kuldeepaggarwal/resolver-test-casesYves Senn2013-12-231-0/+10
|\ \ | | | | | | Resolver test cases
| * | added test cases for Resolver#connection_url_to_hashKuldeep Aggarwal2013-12-231-0/+10
| | |
* | | CHANGELOG entry for #13451. [ci skip]Yves Senn2013-12-221-0/+13
| | |
* | | fix quoting non-stringsDamien Mathieu2013-12-222-1/+7
| | | | | | | | | | | | Closes #13444
* | | Use the same enum definition in the docs and in the comments [ci skip]Godfrey Chan2013-12-221-6/+6
|/ /
* | fix url connections for sqlite3Aaron Patterson2013-12-202-1/+34
| |