| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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".
|
|
|
|
|
|
| |
Ruby 2.1.0 includes the json gem 1.8.1 by default so we need bundler 1.5.1
for `bundle install` to work. To fix this reverse the downgrade to 1.3.5
and wrap the `run_generator` call with a block that resets `THOR_DEBUG`.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
The code syntax in the comment example is invalid
|
|
|
|
| |
remove unused requires
|
|
|
|
|
| |
* Add "<tt>" or "+" to improve font of some code and filenames in API documentation
* Does not contain wording changes
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
A better solution has been pushed to master.
This reverts commit 959cfcef7255bba720ce3f15323056533ea7b50a.
|
|\
| |
| | |
Fix railties tests in master
|
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/| |
Better missing `secret_key_base` error message
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the error was:
```
RuntimeError: You must set secret_key_base in your app's config
```
Will now be:
```
RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`
```
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Instead, read information from environment variables.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Do not expect database user with app name to exist
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By default when creating a project with `--database=postgresql` the `config/database.yml` file that is generated has a user specified that is the same as the app name
```
development:
adapter: postgresql
encoding: unicode
database: <%= app_name %>_development
pool: 5
username: <%= app_name %>
password:
```
This is counterintuitive and would rarely be valid. By default postgres creates a user with the current user name (http://www.postgresql.org/docs/9.3/static/database-roles.html) "it will have the same name as the operating system user that initialized the database cluster":
```
$ whoami
schneems
```
If the `username` is left out postgresql will assume that you wish to log in as the default user
```
$ psql -c '\du'
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
schneems | Superuser, Create role, Create DB, Replication | {}
```
A good sensible default then for auto generated `database.yml` files is to remove the `username`, and have postgres attempt to connect to the database as the currently logged in user.
Instead of submitting with a blank password, don't submit a password.
|
| | |
|
|\ \
| | |
| | | |
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
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We're surrounding the options in angle brackets `<>` as is convention in `curl`:
```
$ curl --help
Usage: curl [options...] <url>
```
And then in square brackets `[]` with bars `|` as in `tar`:
```
$ tar --help
...
Create: tar -c [options] [<file> | <dir> | @<archive> | -C <dir> ]
```
To further clarify that the command can be used with both, we now show examples:
```
Examples:
rails runner 'puts Rails.env'
This runs the code `puts Rails.env` after loading the app
rails runner path/to/filename.rb
This runs the Ruby file located at `path/to/filename.rb` after loading the app
```
This format was taken from the `find` man pages:
```
EXAMPLES
The following examples are shown as given to the shell:
find / \! -name "*.c" -print
Print out a list of all the files whose names do not end in .c.
find / -newer ttt -user wnj -print
Print out a list of all the files owned by user ``wnj'' that are newer than the file ttt.
```
The the text at the bottom is also shifted to improve readability.
|
| | |
|
| | |
|
|\ \ |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Change all `MiniTest` to `Minitest`
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
renamed to `Minitest`
Ref: https://github.com/seattlerb/minitest/blob/master/History.txt
|
|/ / / |
|
| | | |
|
| | |
| | |
| | |
| | | |
deliver. These other views (properties, routes) are not designed to be loaded in isolation
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|