aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge pull request #16297 from calebthompson/extract-iterator-methodRafael Mendonça França2014-07-281-10/+14
|\ \ \ \ | | | | | | | | | | Extract iterator method in AR::SchemaDumper
| * | | | Extract iterator method in AR::SchemaDumperCaleb Thompson2014-07-251-10/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gems which wish to tie into ActiveRecord::SchemaDumper need to duplicate this logic currently. [Foreigner] is one such example, as is a library I'm currently working on but which hasn't been released yet: def tables_with_foreign_keys(stream) tables_without_foreign_keys(stream) @connection.tables.sort.each do |table| next if ['schema_migrations', ignore_tables].flatten.any? do |ignored| case ignored when String; table == ignored when Regexp; table =~ ignored else raise StandardError, 'ActiveRecord::SchemaDumper.ignore_tables accepts an array of String and / or Regexp values.' end end foreign_keys(table, stream) end end [Foreigner]: https://github.com/matthuhiggins/foreigner/blob/master/lib/foreigner/schema_dumper.rb#L36-L43 Extract the skip logic to a method, making it much simpler to follow this same behavior in gems that are tying into the migration flow and let them dump only tables that aren't skipped without copying this block of code. The above code could then be simplified to: def tables_with_foreign_keys(stream) tables_without_foreign_keys(stream) @connection.tables.sort.each do |table| foreign_keys(table, stream) unless ignored?(table) end end It also, in my opinion, simplifies the logic on ActiveRecord's side, and clarifies the intent of the skip logic.
* | | | | Merge pull request #16295 from kenn/no_stacktrace_drop_taskRafael Mendonça França2014-07-282-0/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | No verbose backtrace by db:drop when database does not exist.
| * | | | | No verbose backtrace by db:drop when database does not exist.Kenn Ejima2014-07-272-0/+8
| | |_|_|/ | |/| | |
* | | | | Add where condition so select_one returns the correct record.Zuhao Wan2014-07-281-1/+1
| | | | |
* | | | | [ci skip] Fix documentation for @macro and reflection typeseileencodes2014-07-272-7/+10
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since `@macro` doesn't exist anymore and these reflections are no longer AssociationReflections but their own types of reflections based on macro I updated the documentation to match the changes I made in #16089 and #16198. An `AssociationReflection` that had a `@macro` of `:has_many` now is a `HasManyReflection`
* | | | Merge pull request #16290 from a3gis/masterZachary Scott2014-07-252-2/+2
|\ \ \ \ | |/ / / |/| | | [ci skip] Fix documentation of SQLite3Adapter.columns where SQLite3Column was removed in e781aa31fc52a7c696115302ef4d4e02bfd1533b
| * | | Remove references to SQLite3Column from documentationa3gis2014-07-251-1/+1
| | | |
| * | | Fix documentation of SQlite3Adapter.columnsa3gis2014-07-251-1/+1
| | | | | | | | | | | | As of https://github.com/rails/rails/commit/e781aa31fc52a7c696115302ef4d4e02bfd1533b SQLite3Column has been dropped.
* | | | Merge pull request #16220 from pcreux/postgresql-jsonb-supportYves Senn2014-07-256-9/+64
|\ \ \ \ | |_|/ / |/| | | | | | | Add support for Postgresql JSONB
| * | | Add support for Postgresql JSONBPhilippe Creux2014-07-246-9/+64
|/ / / | | | | | | | | | [Philippe Creux, Chris Teague]
* | | tests, run adapter specific rake tests only for the right adapter.Yves Senn2014-07-243-0/+6
| | |
* | | build fix, fix error introduced with 091b246bb0111357edbb9703ea342a944b04deb6Yves Senn2014-07-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the following issue: 1) Failure: ActiveRecord::MySQLPurgeTest#test_establishes_connection_to_test_database [test/cases/tasks/mysql_rake_test.rb:200]: not all expectations were satisfied unsatisfied expectations: - expected exactly once, not yet invoked: ActiveRecord::Base.establish_connection(:test) satisfied expectations: - allowed any number of times, invoked once: #<Mock:0x2349430>.recreate_database(any_parameters) - allowed any number of times, invoked once: ActiveRecord::Base.establish_connection(any_parameters) - allowed any number of times, invoked once: ActiveRecord::Base.connection(any_parameters)
* | | fix, mysql `db:purge` respects `Rails.env`.Yves Senn2014-07-242-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously this method always established a connection to the test database. This resulted in buggy behavior when combined with other tasks like `bin/rake db:schema:load`. This was one of the reasons why #15394 (22e9a91189af2c4e6217a888e77f22a23d3247d1) was reverted: > I’ve replicated it on a new app by the following commands: 1) rails generate model post:title, 2) rake db:migrate, 3) rake db:schema:load, 4) rails runner ‘puts Post.first’. The last command goes boom. Problem is that rake db:schema:load wipes the database, and then doesn’t actually restore it. This is all on MySQL. There’s no problem with SQLite. -- DHH https://github.com/rails/rails/commit/22e9a91189af2c4e6217a888e77f22a23d3247d1#commitcomment-6834245
* | | clenaup, unify CHANGELOG format. [ci skip]Yves Senn2014-07-241-5/+7
| | |
* | | Merge pull request #16280 from a3gis/masterMatthew Draper2014-07-241-2/+2
|\| | | | | | | | Fixes #16265 and correct documentation typo
| * | Fix documentation typo in ConnectionSpecification::Resolve.speca3gis2014-07-241-1/+1
| | |
| * | Fixes #16265a3gis2014-07-241-1/+1
| | |
* | | pg, `change_column_default, :table, :column, nil` issues `DROP DEFAULT`.Yves Senn2014-07-242-1/+16
|/ / | | | | | | | | | | | | | | | | | | | | | | Closes #16261. [Matthew Draper, Yves Senn] Using `DEFAULT NULL` results in the same behavior as `DROP DEFAULT`. However, PostgreSQL will cast the default to the columns type, which leaves us with a default like "default NULL::character varying". /cc @matthewd
* | Merge pull request #16231 from Envek/type_in_referencesYves Senn2014-07-226-5/+56
|\ \ | | | | | | | | | | | | | | | * Allow to specify a type for foreign key column in migrations * unified the docs * some cleanup in CHANGELOG
| * | Allow to specify a type for foreign key column in migrationsAndrey Novikov2014-07-226-3/+46
|/ / | | | | | | [Andrey Novikov & Łukasz Sarnacki]
* | Merge pull request #16253 from ↵Yves Senn2014-07-221-1/+1
|\ \ | | | | | | | | | | | | zuhao/refactor_activerecord_nested_through_associations_test Make sure assertion passes for postgresql.
| * | Make sure assertion passes for postgresql.Zuhao Wan2014-07-221-1/+1
| | |
* | | Remove redundant that already happened in teardown.Zuhao Wan2014-07-221-1/+0
|/ /
* | build fix, remove not null constraint.Yves Senn2014-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | The fixtures are still in play, adding a new column without a default and `null: true` is not possible. This reverts back to leaking global state, as our `schema.rb` adds the `null: false` constraint on this field. A future solution would be to make the `migration_test.rb` run independent of fixture tables. This way we can simply drop the state after test execution, without worrying about side effects. /cc @zuhao
* | Merge pull request #16250 from zuhao/refactor_activerecord_migration_testYves Senn2014-07-221-1/+1
|\ \ | | | | | | Remove length limit that results failure in other tests.
| * | Remove length limit that results failure in other tests.Zuhao Wan2014-07-221-1/+1
| | |
* | | Remove the side-effects of validates_presence_of.Zuhao Wan2014-07-221-2/+3
|/ /
* | Touch option description grammatical error fixed [ci skip]vadivelan2014-07-211-1/+1
| |
* | Merge branch 'rm-remove-mocha'Rafael Mendonça França2014-07-191-0/+2
|\ \ | | | | | | | | | | | | Conflicts: actionpack/test/abstract_unit.rb
| * | Stop requiring mocha automaticallyRafael Mendonça França2014-07-191-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are planning to remove mocha from our test suite because of performance problems. To make this possible we should stop require mocha on ActionSupport::TestCase. This should not affect applications since users still need to add mocha to Gemfile and this already load mocha. Added FIXME notes to place that still need mocha removal
* | | Merge pull request #16227 from Aguynamedsteve/typo_correctionYves Senn2014-07-191-1/+1
|\ \ \ | | | | | | | | Fixed typo in comment [ci skip]
| * | | Fixed typo in commentSteve2014-07-191-1/+1
| | | |
* | | | create_join_table uses same logic as HABTM reflectionsStefan Kanev2014-07-185-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, create_join_table would not remove the common prefix in the join table name, unlike ActiveRecord::Reflections. A HABTM between Music::Artist and Music::Record would use a table music_artists_records, while create_join table would create music_artists_music_records.
* | | | Merge pull request #15762 from arthurnn/better_error_on_bad_alias_methodMatthew Draper2014-07-183-10/+27
|\ \ \ \ | | | | | | | | | | | | | | | Dont swallow errors when bad alias_method
| * | | | Dont swallow errors when bad alias_methodArthur Neves2014-06-243-10/+27
| | | | |
* | | | | Disable some tests on SQLiteRafael Mendonça França2014-07-171-77/+77
| | | | | | | | | | | | | | | | | | | | | | | | | These tests were passing before because the precision were not using to cast the value. Not it is being used so it would fail on sqlite3
* | | | | Prefer if/else for this caseRafael Mendonça França2014-07-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | One of the branches is using a proc to check if the value respond_to a method so it is better to not do case comparations
* | | | | Merge pull request #16188 from marianovalles/fix_rational_to_decimal_type_castRafael Mendonça França2014-07-173-9/+38
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix rational to decimal on type_cast_from_user
| * | | | | Fix decimal_test module and add new test for object responding to to_dMariano Valles2014-07-162-7/+15
| | | | | |
| * | | | | Fix case statement to use ::Numeric and ::StringMariano Valles2014-07-163-18/+25
| | | | | |
| * | | | | Change class evaluation for Rationals in cast_valueMariano Valles2014-07-162-5/+7
| | | | | |
| * | | | | Fix rational to decimal on type_cast_from_userMariano Valles2014-07-162-1/+13
| | | | | |
* | | | | | Remove need for macro instance vareileencodes2014-07-171-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Same as we did for collection, removed the `@macro` instance var and it is now set in each association. Unfortunately it can't be left undefined in AssociationReflection so it has to be set there. For now I am setting it to NotImplementedError since there is no default macro and it changes based on the reflection type.
* | | | | | Remove unused 1:1 association :remote optionChris Griego2014-07-161-1/+1
| | | | | | | | | | | | | | | | | | This option is unused, left over from pre-1.0 Rails to internally distinguish the location of the foreign key.
* | | | | | Merge pull request #16196 from yahonda/mysql_restrict_testMatthew Draper2014-07-172-8/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | Revert "Rename to test_mysql_strict_mode_disabled_dont_override_global_sql_mode"
| * | | | | | Revert "Rename to test_mysql_strict_mode_disabled_dont_override_global_sql_mode"Yasuo Honda2014-07-172-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit babc24c1b07c1fd58b9b3249b0256f9b0d45c0f0. Conflicts: activerecord/test/cases/adapters/mysql/connection_test.rb activerecord/test/cases/adapters/mysql2/connection_test.rb
* | | | | | | Merge pull request #15944 from seuros/uuidRafael Mendonça França2014-07-163-1/+51
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat invalid uuid as nil Conflicts: activerecord/CHANGELOG.md
| * | | | | | | Treat invalid uuid as nilAbdelkader Boudih2014-07-143-1/+51
| | | | | | | |
* | | | | | | | Merge pull request #16183 from goddamnhippie/fix-psych-warningRafael Mendonça França2014-07-162-0/+6
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Implement required #encode_with