aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/rake/dbs_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Use DATABASE_URL by defaultschneems2014-01-021-8/+1
| | | See https://github.com/rails/rails/pull/13463#issuecomment-31480799 for full conversation.
* Automatically maintain test database schemaJon Leighton2014-01-021-0/+9
| | | | | | | | | | | | | | * 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".
* Adding missing requireRafael Mendonça França2014-01-021-0/+1
|
* Move default production database to URL sub keyschneems2014-01-011-1/+5
| | | | 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.
* fix 2.1.0 bug :(schneems2013-12-251-1/+1
|
* ensure environment is run before db:structure:loadschneems2013-12-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* Partial fix of database url testsschneems2013-12-251-1/+4
| | | | | | | | 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
* using symbol instead of string in establish_connectionKuldeep Aggarwal2013-12-251-1/+1
|
* Use Full path to sqlite database in testsschneems2013-12-221-3/+3
|
* More Warnings removed for ruby trunkArun Agrawal2013-11-011-2/+2
| | | | Same as 4d4ff531b8807ee88a3fc46875c7e76f613956fb
* Remove hard coded references to Active Record in railtiesJosé Valim2013-03-021-13/+0
|
* run the load_structure test in the test environmentTerence Lee2013-02-211-3/+10
|
* test DATABASE_URL without database.yml aroundTerence Lee2013-02-211-0/+2
|
* Stop shelling out more than necessaryCarlos Antonio da Silva2012-12-071-10/+10
|
* Run rake tasks all at once in rake dbs test for a speed upCarlos Antonio da Silva2012-12-061-12/+6
| | | | | | | | | | | Before: Finished tests in 56.245787s, 0.2133 tests/s, 0.0000 assertions/s. 12 tests, 0 assertions, 0 failures, 0 errors, 0 skips After: Finished tests in 42.401416s, 0.2830 tests/s, 0.0000 assertions/s. 12 tests, 0 assertions, 0 failures, 0 errors, 0 skips
* Fix syntax error in assert_matchRafael Mendonça França2012-09-151-6/+6
|
* Few more warnings removed.Arun Agrawal2012-09-151-3/+3
| | | | | | | I found them when I was running warning mode on with railties See https://github.com/rails/rails/pull/3782
* fixed support for DATABASE_URL for rake db tasksGrace Liu2012-09-111-0/+181
- added tests to confirm establish_connection uses DATABASE_URL and Rails.env correctly even when no arguments are passed in. - updated rake db tasks to support DATABASE_URL, and added tests to confirm correct behavior for these rake tasks. (Removed establish_connection call from some tasks since in those cases the :environment task already made sure the function would be called) - updated Resolver so that when it resolves the database url, it removes hash values with empty strings from the config spec (e.g. to support connection to postgresql when no username is specified).