- 13 1月, 2014 1 次提交
-
-
由 Xavier Noria 提交于
Kudos to @zzak for taking over SDoc and make it work with RDoc 4.
-
- 10 1月, 2014 1 次提交
-
-
由 schneems 提交于
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.
-
- 09 1月, 2014 2 次提交
-
-
由 Aaron Patterson 提交于
-
由 Aaron Patterson 提交于
-
- 06 1月, 2014 1 次提交
-
-
由 Robin Böning 提交于
* Test for: Invalid plugin name, because of reserved rails word. * Test for: Invalid plugin name because of constant name that is already in use.
-
- 05 1月, 2014 1 次提交
-
-
由 Andrew White 提交于
Only config.autoload_paths is frozen, so add the preview_path to ActiveSupport::Dependencies.autoload_paths directly in an after_initialize block. Also protect against a blank preview_path being added to autoload_paths which can cause a serious slowdown as Dir[] tries to load all *_preview.rb files under / Fixes #13372
-
- 03 1月, 2014 1 次提交
-
-
由 schneems 提交于
See https://github.com/rails/rails/pull/13463#issuecomment-31480799 for full conversation.
-
- 02 1月, 2014 3 次提交
-
-
由 Jon Leighton 提交于
* 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".
-
由 Rafael Mendonça França 提交于
-
由 schneems 提交于
By using the URL sub key in the `database.yml` by default we are exposing the ability to set other attributes such as `pool` or `reap_frequency` without need of modifying the URL to contain non-connection specific information.
-
- 26 12月, 2013 4 次提交
-
-
由 schneems 提交于
-
由 schneems 提交于
Right now `db:drop` depends on `load_config` since so when `db:drop` gets executed `load_config` gets run. `db:structure:load` depends on `[:environment, :load_config]`. So before it runs, it executes `environment` but because `load_config` has already executed it is skipped. Note `db:load_config` is "invoke"-d twice, but only "execute"-d once: ``` ** Invoke db:drop (first_time) ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:drop ** Invoke db:structure:load (first_time) ** Invoke environment (first_time) ** Execute environment ** Invoke db:load_config ** Execute db:structure:load ``` The fix for this is making sure that the environment is run before any `load_config`: ``` ** Invoke environment (first_time) ** Execute environment ** Invoke db:drop (first_time) ** Invoke db:load_config (first_time) ** Execute db:load_config ** Execute db:drop ** Invoke db:structure:load (first_time) ** Invoke environment ** Invoke db:load_config ** Execute db:structure:load ```
-
由 schneems 提交于
Prior to #13463 when `DATABASE_URL` was set, Rails automagically used that value instead of the database.yml. There are tests in dbs_test that expect this to still be true. After that PR, `RAILS_DATABASE_URL` is expected to be read into the YAML file via ERB, this PR fixes that behavior. Note: this does not entirely fix the tests. It seems that `ActiveRecord::Tasks::DatabaseTasks.current_config` does not process the url string correctly (convert it into a hash), and ` ActiveRecord::Tasks::DatabaseTasks.structure_load(current_config, filename)` as well as other methods in `DatabaseTasks` expect a hash. It seems like we should involve the resolver somewhere in this process to correctly convert the database url, I do not know the best place for that /cc @josevalim
-
由 Guillermo Iguaran 提交于
-
- 25 12月, 2013 3 次提交
-
-
由 Kuldeep Aggarwal 提交于
-
由 José Valim 提交于
A better solution has been pushed to master. This reverts commit 959cfcef.
-
由 schneems 提交于
Tests are failing due to missing env var on master https://travis-ci.org/rails/rails/jobs/15930622#L641 This adds an environment variable `ENV['RAILS_SECRET_KEY_BASE']` so these tests will pass.
-
- 24 12月, 2013 2 次提交
-
-
由 José Valim 提交于
-
由 José Valim 提交于
-
- 22 12月, 2013 3 次提交
-
-
由 Andrew White 提交于
-
由 schneems 提交于
-
由 schneems 提交于
The build is broken: https://travis-ci.org/rails/rails/builds/15824530 This commit fixes it. The problem: Sqlite expects the `database` part to be an absolute path. That prompted this change to be committed to master: https://github.com/rails/rails/commit/fbb79b517f3127ba620fedd01849f9628b78d6ce This change provides correct behavior. Unfortunately tests were introduced in https://github.com/rails/rails/commit/971d5107cd4cd08c22a85d34546f4ba03ed5c925 that were relying on the incorrect behavior. We can avoid the fix by changing to another database url such as `mysql` or `postgresql` In addition to fixing the failure, the assertions are changed so that the "expected" value comes before "actual" value.
-
- 21 12月, 2013 1 次提交
-
-
由 Kassio Borges 提交于
-
- 20 12月, 2013 1 次提交
-
-
由 Rafael Mendonça França 提交于
-
- 18 12月, 2013 1 次提交
-
-
- 17 12月, 2013 3 次提交
-
-
由 Carlos Antonio da Silva 提交于
We will default this option to true from now on to ensure users properly handle their list of available locales whenever necessary. This option was added as a security measure and thus Rails will follow it defaulting to secure option. Also improve the handling of I18n config options in its railtie, taking the new enforce_available_locales option into account, by setting it as the last one in the process. This ensures no other configuration will trigger a deprecation warning due to that setting.
-
由 Andrew White 提交于
-
由 Andrew White 提交于
-
- 16 12月, 2013 1 次提交
-
-
由 Huiming Teo 提交于
-
- 15 12月, 2013 1 次提交
-
-
由 Arthur Neves 提交于
-
- 13 12月, 2013 4 次提交
-
-
由 Guillermo Iguaran 提交于
-
由 Guillermo Iguaran 提交于
-
由 Guillermo Iguaran 提交于
-
由 Guillermo Iguaran 提交于
-
- 06 12月, 2013 4 次提交
-
-
由 Arun Agrawal 提交于
-
由 Rafael Mendonça França 提交于
This will avoid false positives where caching? is nil and should be false
-
由 Rafael Mendonça França 提交于
before the application This test is a regression test to b068e20b that changed the load order of Action View initializers.
-
由 Arun Agrawal 提交于
-
- 05 12月, 2013 2 次提交
-
-
由 Yves Senn 提交于
-
由 Carlos Antonio da Silva 提交于
-