| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| | |
| | | |
Ensure Active Record connection consistency
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently Active Record can be configured via the environment variable `DATABASE_URL` or by manually injecting a hash of values which is what Rails does, reading in `database.yml` and setting Active Record appropriately. Active Record expects to be able to use `DATABASE_URL` without the use of Rails, and we cannot rip out this functionality without deprecating. This presents a problem though when both config is set, and a `DATABASE_URL` is present. Currently the `DATABASE_URL` should "win" and none of the values in `database.yml` are used. This is somewhat unexpected to me if I were to set values such as `pool` in the `production:` group of `database.yml` they are ignored.
There are many ways that active record initiates a connection today:
- Stand Alone (without rails)
- `rake db:<tasks>`
- ActiveRecord.establish_connection
- With Rails
- `rake db:<tasks>`
- `rails <server> | <console>`
- `rails dbconsole`
We should make all of these behave exactly the same way. The best way to do this is to put all of this logic in one place so it is guaranteed to be used.
Here is my prosed matrix of how this behavior should work:
```
No database.yml
No DATABASE_URL
=> Error
```
```
database.yml present
No DATABASE_URL
=> Use database.yml configuration
```
```
No database.yml
DATABASE_URL present
=> use DATABASE_URL configuration
```
```
database.yml present
DATABASE_URL present
=> Merged into `url` sub key. If both specify `url` sub key, the `database.yml` `url`
sub key "wins". If other paramaters `adapter` or `database` are specified in YAML,
they are discarded as the `url` sub key "wins".
```
### Implementation
Current implementation uses `ActiveRecord::Base.configurations` to resolve and merge all connection information before returning. This is achieved through a utility class: `ActiveRecord::ConnectionHandling::MergeAndResolveDefaultUrlConfig`.
To understand the exact behavior of this class, it is best to review the behavior in activerecord/test/cases/connection_adapters/connection_handler_test.rb though it should match the above proposal.
|
|\ \ \
| |/ /
|/| | |
Adding Hash#compact and Hash#compact! methods
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Adding Hash#compact and Hash#compact! methods
* Using Ruby 1.9 syntax on documentation
* Updating guides for `Hash#compact` and `Hash#compact!` methods
* Updating CHANGELOG for ActiveSupport
* Removing unecessary protected method and lambda for `Hash#compact` implementations
* Performing `Hash#compact` implementation - https://gist.github.com/tinogomes/8332883
* fixing order position
* Fixing typo
|
|/ / |
|
| |
| |
| |
| | |
Closes #13625
|
| | |
|
| |
| |
| |
| |
| | |
Last line of note also relates heavily to first part
and parenthesis broke reading flow.
|
| |
| |
| |
| | |
Fixes #12777
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
These methods were only used for the `IdentityMap` which was removed.
They are no longer used internally and should be removed without replacement.
As they were not `:nodoc:`'ed it's better to deprecate them before removal.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Move check from generated helper to test_help.rb, so that all
applications can benefit
* Rather than just raising when the test schema has pending migrations,
try to load in the schema and only raise if there are pending
migrations afterwards
* Opt out of the check by setting
config.active_record.maintain_test_schema = false
* Deprecate db:test:* tasks. The test helper is now fully responsible
for maintaining the test schema, so we don't need rake tasks for this.
This is also a speed improvement since we're no longer reloading the
test database on every call to "rake test".
|
| |
| |
| |
| |
| |
| | |
is pasted.
[ci skip]
|
| |
| |
| |
| | |
Closes #13566
|
| |
| |
| |
| | |
Closes #13565
|
|\ \
| | |
| | | |
Update grant statement to address #13549
|
| | | |
|
|/ /
| |
| |
| | |
Also make all three examples consistent.
|
|\ \ |
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Flag `config.assets.raise_runtime_errors` in dev
|
| | |
| | |
| | |
| | |
| | | |
By default `config.assets.raise_runtime_errors` should be set to `true` in development for new apps.
Source: https://github.com/rails/sprockets-rails/pull/100
|
|\ \ \
| | | |
| | | | |
Describe precision + scale in migrations guide
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Telling somebody that "precision sets the precision" is not very helpful.
Newbies want to know what precision is *for*, likewise with scale.
So I've added a very brief description for each.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This reverts commit 293a1a68992ba3e3e80f9f0f685e866ff79bf11a.
|
| | | |
| | | |
| | | |
| | | | |
Example code does not run yet with beta1.
|
|\ \ \ \
| |_|_|/
|/| | | |
Remove <tt> tag in 4_1_release notes. [ci skip].
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 41ba51f4850a8cd2fe69789011ac33366366d32f.
[ci skip]
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit f4804fafecdc057988575b4516afe9ca1d5f42fc.
[ci skip]
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit 427db6b9d2b35a72f3c017eb19a2e1e800b0a7a3.
[ci skip]
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit b58f3a641795e1777aa3e12a853c34ff512acfb9.
Reason: Discussion in https://github.com/rails/docrails/commit/b58f3a641795e1777aa3e12a853c34ff512acfb9
[ci skip]
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The flag will be used in multiple places to check for errors during runtime if enabled.
Source: https://github.com/rails/sprockets-rails/pull/100
|
| | | |
| | | |
| | | |
| | | | |
As a side not, the period after etc is not always
needed http://en.wiktionary.org/wiki/etc
|
| | | |
| | | |
| | | | |
Escape hyphen
|
| | | |
| | | |
| | | | |
Add escape character for correct rendering
|
| | | |
| | | |
| | | | |
Use markdown formatting instead
|
| | | | |
|
| | | |
| | | |
| | | | |
In the absence of proper escaping the first link was getting messed up and remaining part of the sentence (2nd link) was not displayed in the rendered markdown on the website though it was displaying correctly in the repository markdown file.
|
| | | |
| | | |
| | | | |
From (svenfuchs/globalize3) to (globalize/globalize)
|
| | | | |
|