| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Stop interpreting SQL 'string' columns as :string type.
|
| |
| |
| |
| |
| |
| |
| |
| | |
SQL doesn't have a string type, and interpreting 'string' as text is
contrary to at least SQLite3's behavior:
"Note that a declared type of 'STRING' has an affinity of NUMERIC, not TEXT."
http://www.sqlite.org/datatype3.html
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes a regression. The documentation said in its introduction
paragraph that the method returns truthy/falsy, but then below it
was said that if there were no arguments you'd get `true` or `false`.
Also when the argument is exactly `false` a singleton is documented
to be returned.
The method was not returning the singletons so it didn't conform to
those special cases.
The best solution here seems to be to just return singletons in all
cases. This solution is backwards compatible. Also, the contract
has been revised because it has no sense that the predicate varies
that way depending on the input. I bet the previous contract was just
an accident, not something mixed on purpose.
Conflicts:
activerecord/lib/active_record/relation/finder_methods.rb
activerecord/test/cases/finder_test.rb
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
Conflicts:
actionview/README.rdoc
activerecord/lib/active_record/migration.rb
guides/source/development_dependencies_install.md
guides/source/getting_started.md
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing
changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9.
Seems to be a code merge done by mistake.
|
| |
| |
| |
| |
| | |
Currently, ActiveRecord models with multiple words cannot have their
inverse associations detected automatically.
|
|\ \
| | |
| | | |
Fix assign ip address with invalid values raise exception
|
| | |
| | |
| | |
| | | |
In order that set attribute should not be bang method
|
|/ / |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
drop extra variable
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1) Use `assert` and `refute` where possible.
2) Separately include the setup, subject, and assertions in each test - don't hide the tested call in an assertion method.
3) Name things based on their role rather than incidental facts about them - e.g. `@bird[1]` -> `bird_to_destroy`. `bird2_deletion_attributes` -> `destroy_bird_attributes`.
4) Use more succinct naming where possible - e.g. `birds_with_callback` -> `birds_with_add`, `@pirate_with_two_birds` -> `@pirate`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
records, and don't bother updating the association if the update is going to be rejected anyway.
This requires adding a `skip_callbacks` argument to `#add_to_target`
so that we don't call the callbacks multiple times in this case,
which is functionally an application of existing association data,
rather than an addition of a new record to the association.
|
| | |
| | |
| | |
| | |
| | | |
Issue #1: :before_add callback is called when nested attributes assignment assigns to existing record if the association is not yet loaded
Issue #2: Nested Attributes assignment does not affect the record in the association target when callback triggers loading of the association
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
If you're using an in-memory database for the test database,
reconnecting will lose all information that schema:load did for us.
|
|/ /
| |
| |
| |
| | |
If 'enable_extension' is used in a migration's 'change' method, use
'disable_extension' on down migration (and vice-versa).
|
| | |
|
|\ \
| | |
| | | |
Set field encoding to client_encoding for mysql adapter.
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
Remove conditional, results are always an instance of `ActiveRecord::Result`
|
| | |
| | |
| | |
| | | |
`ActiveRecord::Result`
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit fixes the build but we need to further investigate the root cause,
to see if it can be fixed.
The test fails under `MysqlAdapter` with:
```
ActiveRecord::UnknownAttributeError: unknown attribute: なまえ
```
The root cause is that the returned column names from the adapter
have the wrong encoding:
```ruby
columns = Weird.columns_hash.keys
columns # => ["id", "a$b", "\xE3\x81\xAA\xE3\x81\xBE\xE3\x81\x88", "from"]
columns.map(&:encoding) # => [#<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>, #<Encoding:ASCII-8BIT>]
columns.map {|c| c.dup.force_encoding "utf-8"} # => ["id", "a$b", "なまえ", "from"]
```
From what I can tell the MySQL variables are fine:
```
ActiveRecord::Base.connection.execute("show variables")
...
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
character_sets_dir /usr/local/Cellar/mysql/5.5.29/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database utf8_unicode_ci
collation_server utf8_general_ci
...
```
|
| | |
| | |
| | |
| | | |
Closes #11062
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Fix in-memory tests
|
| | |
| | |
| | |
| | | |
[ci skip]
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This change was breaking the Railties tests. See
https://travis-ci.org/rails/rails/jobs/9865969
|
| | |
| | |
| | |
| | | |
The deprecation message was removed on 50cbc03d18c5984347965a94027879623fc44cce but the code was not.
|
|\ \ \
| | | |
| | | | |
Load fixtures from linked folders[master]
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Free result_metadata directly instead of freeing 2nd, redundant call.
|
| | | | |
| | | | |
| | | | | |
`result_metadata` returns a new object each time it is called, so calling `result_metadata.free` is essentially a noop. Instead call `free` directly on the metadata when we're done with it.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the `db/` directory is not present on a remote machine it will blow up in unexpected ways with error messages that do not indicate there is a missing directory:
```
SQLite3::CantOpenException: unable to open database file
```
This PR checks to see if a directory exists for the sqlite3 file and if not creates it for you.
This PR is an alternative to #11692 as suggested by @josevalim
|
|\ \ \ \
| | | | |
| | | | | |
Minor optimization and code cleanup in query_methods.rb
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Use symbols rather than strings where possible to avoid extra object construction
- Use destructive methods where possible to avoid extra object construction
- Use array union rather than concat followed by uniq
- Use shorthand block syntax where possible
- Use consistent multiline block styles, method names, method parenteses style, and spacing
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Changing the def self.table_name to self.table_name in the column_name.r...
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
fix for postgresql failing test in local
|
| |/ / / / / |
|