aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge pull request #29455 from kirs/remove-column-with-fk-mysqlGuillermo Iguaran2017-06-162-0/+17
|\ \ \ \ | | | | | | | | | | Remove FK together with column in MySQL
| * | | | Remove FK together with column in MySQLKir Shatrov2017-06-162-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike with other databses, MySQL doesn't let you remove the column if there's a FK on this column. For better developer experience we want to remove the FK together with the column.
* | | | | Merge pull request #29392 from alexcameron89/unpersisted_create_associationMatthew Draper2017-06-173-1/+14
|\ \ \ \ \ | | | | | | | | | | | | Raise on create for singular association when parent is unpersisted
| * | | | | Raise on create for singular association when parent is unpersistedAlex Kitchens2017-06-083-1/+14
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | A collection association will raise on `#create_association` when the parent is unpersisted. A singular association should do the same. This addresses issue #29219.
* | | | | Merge pull request #29431 from kamipo/fix_create_table_with_query_from_relationMatthew Draper2017-06-172-7/+10
|\ \ \ \ \ | | | | | | | | | | | | Fix `create_table` with query from relation
| * | | | | Fix `create_table` with query from relationRyuta Kamizono2017-06-132-7/+10
| | |/ / / | |/| | | | | | | | | | | | | | | | | | If a relation has binds, `connection.to_sql(relation)` without binds will generate invalid SQL. It should use `relation.to_sql` in that case.
* | | | | Merge pull request #29461 from dnl/unscope_where_orMatthew Draper2017-06-172-1/+26
|\ \ \ \ \ | | | | | | | | | | | | Don't require 'unscope' to be the same on both sides of an 'or' relation
| * | | | | Don't require 'unscope' to be the same for both sides of a 'or' relation.Dan Sherson2017-06-152-1/+26
| | | | | |
* | | | | | Use nullable `id` column instead of a primary keyRyuta Kamizono2017-06-161-1/+2
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `id` column in `subscribers` was added as a primary key for ignorable in INSERT. But it caused `NotNullViolation` for oracle-enhanced adapter. https://github.com/rsim/oracle-enhanced/issues/1357 I changed the column to nullable to address the issue.
* | | | | Merge pull request #29464 from eugeneius/raw_write_attributeRafael França2017-06-152-15/+12
|\ \ \ \ \ | | | | | | | | | | | | Don't map id to primary key in raw_write_attribute
| * | | | | Don't map id to primary key in raw_write_attributeEugene Kenny2017-06-152-15/+12
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `raw_write_attribute` method is used to update a record's attributes to reflect the new state of the database in `update_columns`. The hash provided to `update_columns` is turned into an UPDATE query directly, which means passing an `id` key results in an update to the `id` column, even if the model uses a different attribute as its primary key. When updating the record, we don't want to apply the `id` column change to the primary key attribute, since that's not what happened in the query. Without the code to handle this case, `write_attribute_with_type_cast` no longer contains any logic shared between `raw_write_attribute` and `write_attribute`, so we can inline the code into those two methods.
* | | | | Merge pull request #29462 from ↵Rafael França2017-06-152-1/+7
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | kamipo/fix_dump_schema_information_with_empty_versions Fix `dump_schema_information` with empty versions
| * | | | | Fix `dump_schema_information` with empty versionsRyuta Kamizono2017-06-152-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #29460.
* | | | | | Merge pull request #29453 from kamipo/add_test_case_for_28274Guillermo Iguaran2017-06-151-0/+46
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Add test cases for #28274
| * | | | | Add test cases for #28274Ryuta Kamizono2017-06-151-0/+46
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `object.id` is correctly restored since #29378 has merged. Closes #28274, Closes #28395. [Ryuta Kamizono & Eugene Kenny]
* | | | | Remove deprecated option from docs [ci skip] (#29459)Vipul A M2017-06-151-6/+6
| |/ / / |/| | |
* | | | Merge pull request #29409 from eugeneius/skip_test_uuid_column_defaultRafael França2017-06-151-1/+2
|\ \ \ \ | | | | | | | | | | Allow `uuid_test.rb` to be loaded on all adapters
| * | | | Allow `uuid_test.rb` to be loaded on all adaptersEugene Kenny2017-06-141-1/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running `bin/test` from the activerecord directory produces this error: test/cases/adapters/postgresql/uuid_test.rb:43:in `<class:PostgresqlUUIDTest>': undefined method `supports_pgcrypto_uuid?' for #<ActiveRecord::ConnectionAdapters::SQLite3Adapter:0x007fc405e72a68> (NoMethodError) The test only actually runs on the PostgreSQL adapter; we can avoid triggering the error on other adapters with this `respond_to?` guard.
* | | | Prevent extra `sync_with_transaction_state`Ryuta Kamizono2017-06-151-5/+2
| |/ / |/| | | | | | | | | | | `sync_with_transaction_state` in `to_key` is unneeded because `id` also does.
* | | Merge pull request #29378 from kamipo/avoid_overwriting_id_attribute_methodsRafael França2017-06-144-19/+24
|\ \ \ | | | | | | | | Avoid overwriting the methods of `AttributeMethods::PrimaryKey`
| * | | Avoid overwriting the methods of `AttributeMethods::PrimaryKey`Ryuta Kamizono2017-06-074-19/+24
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Currently the methods of `AttributeMethods::PrimaryKey` are overwritten by `define_attribute_methods`. It will be broken if a table that customized primary key has non primary key id column. It should not be overwritten if a table has any primary key. Fixes #29350.
* | | Use `require_relative` instead of `require` with full pathbogdanvlviv2017-06-143-4/+4
| | |
* | | Add test for backward compatibility when using change_tableKoichi ITO2017-06-131-0/+15
| |/ |/|
* | Remove `null_allowed` option from doc [ci skip]yuuji.yaginuma2017-06-101-2/+1
|/ | | | This option was added in b9fa354. But it does not seem to work.
* Merge pull request #28868 from yahonda/pg10_oid_unknown_to_textMatthew Draper2017-06-071-8/+8
|\ | | | | PostgreSQL 10 converts unknown type to text type
| * PostgreSQL 10 converts unknown OID 705 to text 25Yasuo Honda2017-06-061-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Rename test cases from `unknown` to `unrecognized` since unknown OID is one of possible unrecognized types by Rails - Use "select 'pg_catalog.pg_class'::regclass" whose OID is 2205, which will not be converted to recognized type in PostgreSQL 10. activerecord_unittest=# select oid, typname from pg_type where oid in (2205, 2277); oid | typname ------+---------- 2205 | regclass 2277 | anyarray (2 rows) Addresses #28868
* | Merge pull request #29362 from kamipo/remove_redundant_assert_nothing_raisedMatthew Draper2017-06-063-11/+0
|\ \ | | | | | | Remove redundant `assert_nothing_raised` before another assertions
| * | Remove redundant `assert_nothing_raised` before another assertionsRyuta Kamizono2017-06-063-11/+0
| | | | | | | | | | | | These `assert_nothing_raised` are covered by following assertions.
* | | Fix `test_pluck_without_column_names` when using OracleKoichi ITO2017-06-061-2/+5
| |/ |/|
* | [ci skip] UNIQUE constraint affects not only INSERT but also UPDATERyuta Kamizono2017-06-061-1/+1
|/
* Testing `ReservedWordTest` for all adaptersRyuta Kamizono2017-06-052-151/+132
| | | | | `ReservedWordTest` expects that any identifiers are quoted properly. It should be tested for all adapters.
* Merge pull request #29347 from prathamesh-sonpatki/rm-assert-nothin-raisedEileen M. Uchitelle2017-06-041-3/+3
|\ | | | | Remove assert_nothing_raised, as test is already testing the required concerns
| * Remove assert_nothing_raised, as test is already testing the required concernsPrathamesh Sonpatki2017-06-031-3/+3
| |
* | Don't mark the schema loaded until it's really finishedMatthew Draper2017-06-051-3/+5
| | | | | | | | | | load_schema! is overridden by attribute modules, so we need to wait until it has returned.
* | Merge pull request #29294 from gsamokovarov/attributes-defaultKasper Timm Hansen2017-06-045-21/+10
|\ \ | |/ |/| Introduce mattr_accessor default option
| * Use mattr_accessor default: option throughout the projectGenadi Samokovarov2017-06-035-21/+10
| |
* | [ci skip] Add missing `be`Prathamesh Sonpatki2017-06-031-1/+1
|/
* Remove a redundant default_scope testsKoichi ITO2017-06-031-10/+0
|
* Merge pull request #29135 from ↵Eileen M. Uchitelle2017-06-021-0/+19
|\ | | | | | | | | Nerian/document_support_for_composite_primary_keys Document support for composite primary keys
| * Document support for composite primary keysNerian2017-05-181-0/+19
| |
* | Merge pull request #29282 from ↵Eileen M. Uchitelle2017-06-025-9/+24
|\ \ | | | | | | | | | | | | kamipo/prevent_making_bind_param_if_casted_value_is_nil Prevent making bind param if casted value is nil
| * | Prevent making bind param if casted value is nilRyuta Kamizono2017-05-315-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | If casted value is nil, generated SQL should be `IS NULL`. But currently it is generated as `= NULL`. To prevent this behavior, avoid making bind param if casted value is nil. Fixes #28945.
* | | Remove the redundant `test_find_all_with_join` in ARKoichi ITO2017-06-021-10/+0
| | |
* | | Merge pull request #29308 from koic/correct_a_has_many_association_testMatthew Draper2017-06-022-1/+2
|\ \ \ | | | | | | | | Correct a has_many association test
| * | | Correct a has_many association testKoichi ITO2017-06-012-1/+2
| | | |
* | | | Simplify `assert_no_match %r{colname.*limit:}` regexRyuta Kamizono2017-06-011-14/+4
| | | | | | | | | | | | | | | | | | | | In `test_schema_dump_includes_limit_constraint_for_integer_columns`, unified `assert_match` and `assert_no_match` to simple regex.
* | | | Merge pull request #29220 from kamipo/consolidate_database_specific_json_typesMatthew Draper2017-06-0111-101/+122
|\ \ \ \ | | | | | | | | | | Consolidate database specific JSON types to `Type::Json`
| * | | | Consolidate database specific JSON types to `Type::Json`Ryuta Kamizono2017-05-3011-101/+122
| | | | |
* | | | | Merge pull request #29293 from kamipo/fix_sti_with_default_scopeMatthew Draper2017-06-012-2/+11
|\ \ \ \ \ | | | | | | | | | | | | Fix `default_scoped` with defined `default_scope` on STI model
| * | | | | Fix `default_scoped` with defined `default_scope` on STI modelRyuta Kamizono2017-05-312-2/+11
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | This regression is caused by d1249c1. If STI model is defined `default_scope`, `base_rel` is not respected. I fixed to merge `base_rel` in that case.