| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This reverts commit 43ccebc1db072ba0c96a67de0b3db78fd8fd0973.
This is not fixing the configuration problem since we are assigning to
the ActiveRecord::Base not the configuration. See #24303.
|
|\
| |
| | |
Move sequence value methods to Model level
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`prefetch_primary_key?` and `next_sequence_value` methods live in the
connection level at the moment, that make sense when you are generating
the sequence from the database, in the same connection. Which is the use
case today at the Oracle and Postgres adapters.
However if you have an service that generates IDs, that has nothing to
do with the database connection, and should not be fetched from there.
Another use case, is if you want to use another connection to fetch IDs,
that would not be possible with the current implementation, however when
we move those methods to the model level, you can use a new connection
there.
Also this makes easier for gems to add behavior on those methods.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a proc is given as a default value, the form builder ends up
displaying `Proc#to_s` when the default is used. That's because we
didn't handle the proc until type casting. This issue technically can
occur any time that a proc is the value before type casting, but in
reality the only place that will occur is when a proc default is
provided through the attributes API, so the best place to handle this
edge case is there.
I've opted to memoize instead of just moving the `Proc#call` up, as this
made me realize that it could potentially interact very poorly with
dirty checking.
The code here is a little redundant, but I don't want to rely on how
`value_before_type_cast` is implemented in the super class, even if it's
just an `attr_reader`.
Fixes #24249
Close #24306
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without clearing the caches afterward, removals done in migrations would
not be reflected in a separate task in the same process. That is, given
a table with a migration to remove a column, the schema cache would
still reflect that a table has that in something such as the
'db:seed' task:
`rake db:migrate db:seed`
(A common thing to do in a script for a project ala `bin/setup`)
vs
`rake db:migrate && rake db:seed`
(Two processes)
The first would not reflect that the column was removed.
The second would (cache reset).
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I have hit this deprecation in a newly created Rails 5 application and
the suggested tip lead me to a `NoMethodError`.
It's not trivial to actually make the following work, because of the
ActiveRecord::Base class attributes setting dance in the Active Record
railtie.
config.active_record.time_zone_aware_types << :time
Decided to suggest setting it explicitly to the values we need.
[ci skip]
|
|/
|
|
|
|
|
|
|
| |
`RuntimeError`
The error is raised because user passed invalid version number to a public api of
`ActiveRecord`, so `ArgumentError` is more suitable.
And add a test case checking if an error is raised when unknown migration version
is passed, because these test cases are not implemented.
|
|\
| |
| |
| |
| |
| | |
kamipo/append_sql_mode_instead_of_overwriting_in_strict_mode
Append sql_mode instead of overwriting in strict mode
|
| |
| |
| |
| | |
For keep the default SQL mode.
|
|\ \
| | |
| | |
| | |
| | | |
RochesterinNYC/better-error-message-for-includes-relations-missing
Improve error message for missing relations for includes and eager_load
|
| | |
| | |
| | |
| | | |
relations
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts a334425caff9b2140d5e99fcfc2eb8c4ab10bdfa.
The main reason is that now the workflow is inconsistent when using
spring.
When using spring `RAILS_ENV` is always set, so only one database is
created.
This means that in development `bin/rake db:create` and `bundle exec
rake db:create` have different results.
It also breaks the `bin/setup` script since `bin/rake db:setup
db:test:prepare` will fail.
|
| |/
|/|
| |
| | |
We should use #find_or_initialize_by and #find_or_create_by because #first_or_initialize and #first_or_create methods are not the public API
|
|\ \
| | |
| | |
| | |
| | | |
kamipo/case_sensitive_comparison_for_non_string_column
The BINARY Operator is only needed for string columns
|
| | |
| | |
| | |
| | | |
Follow up to #13040.
|
|\ \ \
| | | |
| | | | |
Extract `default_primary_key?` to refactor `column_spec_for_primary_key`
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Dump `bigint` instead of `integer` with `limit: 8` for schema dumper
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Before:
```ruby
create_table "big_numbers", force: :cascade do |t|
t.integer "bigint_column", limit: 8
end
```
After:
```ruby
create_table "big_numbers", force: :cascade do |t|
t.bigint "bigint_column"
end
```
|
|\ \ \ \
| |/ / /
|/| | | |
Passing `table_name` to `Column#initialize` to avoid `instance_variable_set`
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
working
Currently the results of `column.serial?` is not correct. For
`column.serial?` correctly working, initialize `column.table_name`
immediately.
|
|\ \ \ \
| | | | |
| | | | | |
Fix bigserial appears with limit 8 for schema dumper
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before:
```ruby
create_table "postgresql_big_serials", force: :cascade do |t|
t.bigserial "seq", limit: 8, null: false
end
```
After:
```ruby
create_table "postgresql_big_serials", force: :cascade do |t|
t.bigserial "seq", null: false
end
```
|
| | | | |
| | | | |
| | | | | |
The comments of add_foreign_key method was displaying incorrect constraint name.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Follow up to #24079
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Remove outdated comment [ci skip]
|
| |/ / /
| | | |
| | | |
| | | | |
Currently column options handled by the type map in Rails 4.2.
|
|\ \ \ \
| | | | |
| | | | | |
No need to extract a limit for a boolean type
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
guides/source/association_basics.md
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
As shown below, we should use <tt>...</tt> for string literal
```
$ echo "+'id'+" | rdoc --pipe
<p>+'id'+</p>
$ echo "<tt>'id'</tt>" | rdoc --pipe
<p><code>'id'</code></p>
```
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
[ci skip]
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Follow up to #22543.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
chage `date_time` type ` to `datetime`
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Since we are using `datetime` in migration, better to use `datetime` is I think that confusion is less.
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | | |
There is a need to pass the keyword arguments to `attribute` method.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Introduce a predicate method that doesn't need to build a scope chain,
but also hides the data structure used for representing the scope chain.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We know a reflection can be considered as `nested?` if the source
reflection or the through reflection are also through reflections (since
the through reflection will also add another join table). This allows
us to avoid traversing the entire reflection tree just to calculate whether or
not there will be more join tables.
|
| |_|/ / /
|/| | | | |
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Closes #23934.
This is a forward port of ac832a43b4d026dbad28fed196d2de69ec9928ac
Previously the scope of all associations with extensions were wrapped in
an instance dependent proc. This made it impossible to preload such
associations.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
See the end of [this] page.
[ci skip]
[this]: http://edgeapi.rubyonrails.org/classes/ActiveRecord/Persistence/ClassMethods.html#method-i-create
|
|\ \ \ \
| | | | |
| | | | | |
Deprecate `{insert|update|delete}_sql` in `DatabaseStatements`
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Originally, `{insert|update|delete}_sql` is protected methods.
We can use the `{insert|update|delete}` public methods instead.
|
| | | | | |
|
|/ / / /
| | | |
| | | |
| | | | |
Simply it is sufficient to use the method in the super class.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
kamipo/exclude_name_and_type_from_prepare_column_options
Exclude `:name` and `:type` from `prepare_column_options`
|