| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
FIXTURES_PATH has a bit different case than DatabaseTasks.fixtures_path,
which was added along with deprecation. A use case for FIXTURES_PATH
could be loading fixtures from a different directory just for a given
test run. The implementation is fairly simple, so leaving it as it is
won't hurt.
|
|
|
|
|
|
|
|
|
| |
This commit also cleans up the rake tasks that were checking
for DATABASE_URL in different places.
In fact, it would be nice to deprecate DATABASE_URL usage in the long
term, considering the direction we are moving of allowing those in .yml
files.
|
|
|
|
|
|
| |
db:test:clone and db:test:prepare use
ActiveRecord::Base. configurations, so we need to load the rails
environment, otherwise the config wont be in place.
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 22f80ae57b26907f662b7fd50a7270a6381e527e.
See
https://github.com/rails/rails/commit/22f80ae57b26907f662b7fd50a7270a6381e527e#commitcomment-4640676
Conflicts:
activerecord/CHANGELOG.md
|
|\
| |
| |
| |
| |
| |
| | |
Explicitly exit with status "1" for create and drop task failures
Conflicts:
activerecord/CHANGELOG.md
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* A non-zero exit status allows subsequent shell commands to be chained
together such as: `rake db:reset test:prepare && rspec && cap deploy`
(if you're feeling brave :)
* Any exceptions raised during the `create` and `drop` tasks are caught
in order to print a "pretty" message to the user. Unfortunately doing
so prevents rake from aborting with a non-zero exit status to the shell.
* Therefore we re-raise the exceptions after the "pretty" message and
re-catch them in the task.
* From the task we explicitly exit with a non-zero status. This method
was chosen (rather than just letting rake fail from the exception) so
that the backtrace is suppressed and the output to stderr is
unchanged.
* Update activerecord CHANGELOG
|
|/
|
| |
Same as 4d4ff531b8807ee88a3fc46875c7e76f613956fb
|
| |
|
|
|
|
|
| |
This reverts commit 15455d76c8d33b3767a61e0cdd2de0ff592098ef, reversing
changes made to ffa56f73d5ae98fe0b8b6dd2ca6f0dffac9d9217.
|
|
|
|
| |
upon exiting [https://github.com/rails/rails/issues/11834]
|
|
|
|
|
| |
If you're using an in-memory database for the test database,
reconnecting will lose all information that schema:load did for us.
|
| |
|
| |
|
| |
|
|
|
|
| |
Without loading the configuration the task will not perform any work.
|
| |
|
| |
|
|
|
|
|
|
| |
This will allow to set fixtures path in global config easier, it should
be not needed to use FIXTURES_PATH every time user wants to load
fixtures.
|
| |
|
|\
| |
| | |
Fix subject-verb agreement in error msg (and other grammar stuff)
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
db:test:load task should be favored over db:test:load_schema, because it
checks for chosen format (ActiveRecord::Base.schema_format).
closes #10227
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Thanks @neerajdotname for noticing this bug.
|
|
|
|
|
|
| |
I've also added a proper acceptance test which reproduced the issue.
Closes #9513, #9515.
|
| |
|
|
|
|
| |
exception
|
|
|
|
| |
adapters can register rake tasks
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 8348f9ea72c9b50fc4d4462fd9ebe3bba932c783, reversing
changes made to 9dfe2d6f9fabddf9a451a995678a9648c8aaf401.
Reason: this broke railties tests as explained in the issue, and the
author is going to review and report back.
https://github.com/rails/rails/pull/8930#issuecomment-12272671
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When dumping database structure with `rake db:structure:dump` and
using migrations, the resulting file will not end with a newline char.
Although it's not mandatory, it breaks a lot of simple use cases with
programs like cat, more, grep, etc.
This changes use `puts' instead of `<<' to append migration versions
data to the dump and also split the line where this is happening as it
was a bit long.
|
|
|
|
| |
paths rather than migrations. Use Migrator.open(paths) instead. Thanks @rubys!
|
|
|
|
|
| |
`ENV['RAILS_ENV']` is not defined unless explicitly specified on the
command line when running `rake db:structure:load`.
|
|
|
|
| |
Rename `ActiveRecord::Fixtures` class to `ActiveRecord::FixtureSet`. Instances of this class normally hold a collection of fixtures (records) loaded either from a single YAML file, or from a file and a folder with the same name. This change make the class name singular and makes the class easier to distinguish from the modules like `ActiveRecord::TestFixtures`, which operates on multiple fixture sets, or `DelegatingFixtures`, `::Fixtures`, etc., and from the class `ActiveRecord::Fixture`, which corresponds to a single fixture.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
db:structure:load
"
Breaks db:setup because it tries to load the environment before creating the database.
This reverts commit 5ca11fefce6d83f5db399aa4412f1f1a0d42b2e6.
|
|
|
|
| |
This avoids us having to manually increment and decrement it.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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).
|
|
|
|
|
| |
This functionality will be available from gem
`active_record-session_store` instead.
|
|\
| |
| |
| |
| | |
Make sure :environment task is executed before db:schema:load or
db:structure:load
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
db:structure:load
Otherwise, if schema_format = :sql, you will see:
$ rake db:setup --trace
** Invoke db:setup (first_time)
** Invoke db:schema:load_if_ruby (first_time)
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:create
db_example_development already exists
db_example_test already exists
** Execute db:schema:load_if_ruby #<-------- :environment hasn't been executed yet
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:schema:load
~/db_example/db/schema.rb doesn't exist yet. Run `rake db:migrate` to create it then try again.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
by Active Support)
Selecting which key extensions to include in active_support/rails
made apparent the systematic usage of Object#in? in the code base.
After some discussion in
https://github.com/rails/rails/commit/5ea6b0df9a36d033f21b52049426257a4637028d
we decided to remove it and use plain Ruby, which seems enough
for this particular idiom.
In this commit the refactor has been made case by case. Sometimes
include? is the natural alternative, others a simple || is the
way you actually spell the condition in your head, others a case
statement seems more appropriate. I have chosen the one I liked
the most in each case.
|