- 10 2月, 2016 1 次提交
-
-
由 Brian Christian 提交于
-
- 08 2月, 2016 2 次提交
-
-
由 Ryuta Kamizono 提交于
Follow up to #23508.
-
由 Ryuta Kamizono 提交于
A return value of `schema_type` is used by: 1. primary key type: using as `symbol.inspect` 2. normal column type: using as `symbol.to_s` It is better to return symbol.
-
- 07 2月, 2016 2 次提交
-
-
由 Vijay Dev 提交于
-
由 Mehmet Emin İNAÇ 提交于
With this addition, you can add a column into the table like: ``` create_table(:numeric_types) do |t| t.numeric :foo, precision: 10, scale: 2, default: 2.0 end ``` The result of the migration above is same with: ``` create_table(:numeric_types) do |t| t.decimal :foo, precision: 10, scale: 2, default: 2.0 end ```
-
- 06 2月, 2016 4 次提交
-
-
由 Ryuta Kamizono 提交于
Fixes #22980.
-
由 Ryuta Kamizono 提交于
It appears first in `lib/active_record.rb`.
-
由 Sean Griffin 提交于
This reverts commit 99801c6a. Ultimately it doesn't matter whether `add_index` or `t.index` are used in the schema dumper in any meaningful way. There are gems out there which hook into the old behavior for things like indexing materialized views. Since the reverted commit doesn't seem to add much benefit, there's no reason for us to break these gems.
-
- 05 2月, 2016 2 次提交
-
-
由 Jeremy Baker 提交于
-
由 Jeremy Baker 提交于
-
- 04 2月, 2016 7 次提交
-
-
由 Jeremy Baker 提交于
If you set the DATABASE_URL environment variable to `mydatabase` by accident, you end up getting a series of errors that are hard to trace. For example: ``` warning: already initialized constant ActiveRecord::Base::OrmAdapter ``` Turns out the cascade of errors is due to the error raised by `.tr` being called on `nil`. This commit makes sure that `scheme` is set before calling `.tr` on it. My previous iteration used `@uri.scheme.try(:tr, '-', '_')` but using the `&&` logical operator is a fair bit faster: http://stackoverflow.com/questions/26655032/try-vs-performance With this change, the error message becomes much more understandable: ``` FATAL: database "mydatabase" does not exist (ActiveRecord::NoDatabaseError) ```
-
由 Akira Matsuda 提交于
-
由 Ryuta Kamizono 提交于
-
由 Matthew Draper 提交于
-
由 Ryuta Kamizono 提交于
Currently some features uses `information_schema` (e.g. foreign key support). `information_schema` introduced since MySQL 5.0.
-
由 Matthew Draper 提交于
This still isn't as separated as I'd like, but it at least moves most of the burden of alias mapping in one place.
-
- 03 2月, 2016 6 次提交
-
-
由 Akira Matsuda 提交于
-
由 Prathamesh Sonpatki 提交于
-
由 Himesh 提交于
Changed id-writer to save join table records based on association primary key
-
由 Remo Mueller 提交于
-
由 Sean Griffin 提交于
There was a typo in the variable name leading to infinite recursion
-
由 Sean Griffin 提交于
We had previously updated this to attempt to map over whatever was passed in, so that additional types like range and array could benefit from this behavior without the time zone converter having to deal with every known type. However, the default behavior of a type is to just yield the given value to `map`, which means that if we don't actually know how to handle a value, we'll just recurse infinitely. Since both uses of `map` in this case occur in cases where we know receiving the same object will recurse, we can just break on reference equality. Fixes #23241.
-
- 02 2月, 2016 5 次提交
-
-
由 yui-knk 提交于
`#initialize` of `HasManyReflection`, `HasOneReflection` and `BelongsToReflection` only pass all arguments to `super` by passed order. These overriding can be removed.
-
由 Rafael Mendonça França 提交于
And improve changelongs. [ci skip]
-
由 Sean Griffin 提交于
-
由 Jeremy Daer 提交于
When a `before_commit` callback raises, the database is rolled back but AR's record of the current transaction is not, leaving the connection in a perpetually broken state that affects all future users of the connection: subsequent requests, jobs, etc. They'll think a transaction is active when none is, so they won't BEGIN on their own. This manifests as missing `after_commit` callbacks and broken ROLLBACKs. This happens because `before_commit` callbacks fire before the current transaction is popped from the stack, but the exception-handling path they hit assumes that the current transaction was already popped. So the database ROLLBACK is issued, but the transaction stack is left intact. Common cause: deadlocked `#touch`, which is now implemented with `before_commit` callbacks. What's next: * We shouldn't allow active transaction state when checking in or out from the connection pool. Verify that conns are clean. * Closer review of txn manager sad paths. Are we missing other spots where we'd end up with incorrect txn state? What's the worst that can happen if txn state drifts? How can we guarantee it doesn't and contain the fallout if it does? Thanks for @tomafro for expert diagnosis!
-
由 Sean Griffin 提交于
This reverts commit 9f3730a5, reversing changes made to 2637fb75. There are additional issues with this commit that need to be addressed before this change is ready (see #23377). This is a temporary revert in order for us to have more time to address the issues with that PR, without blocking the release of beta2.
-
- 01 2月, 2016 11 次提交
-
-
由 Yasuo Honda 提交于
for those who already migrated to Rails 5.0.0 beta
-
由 Yasuo Honda 提交于
to support Oracle database which only supports 30 byte identifier length
-
由 Akira Matsuda 提交于
-
由 Ernst Rullmann 提交于
Fixes issue #22960 When creating join tables with the command rails g migration CreateJoinTableShowroomUser showroom:references user:references The migration will use references to create the joins and output: class CreateJoinTableShowroomUser < ActiveRecord::Migration def change create_join_table :showrooms, :users do |t| t.references :showroom, index: true, foreign_key: true t.references :user, index: true, foreign_key: true end end end This allows for proper refrences with indexes and foreign keys to be easily used when adding join tables. Without `:refrences` the normal output is generated: class CreateJoinTableShowroomUser < ActiveRecord::Migration[5.0] def change create_join_table :showrooms, :users do |t| # t.index [:showroom_id, :user_id] # t.index [:user_id, :showroom_id] end end end
-
由 Ryuta Kamizono 提交于
`initialize_schema_migrations_table` is called in every migrations. https://github.com/rails/rails/blob/v5.0.0.beta1/activerecord/lib/active_record/migration.rb#L1080 https://github.com/rails/rails/blob/v5.0.0.beta1/activerecord/lib/active_record/schema.rb#L51 This means that extra `show variables` is called regardless of the existence of `schema_migrations` table. This change is to avoid extra `show variables` if `schema_migrations` table exists.
-
由 Ryuta Kamizono 提交于
-
由 Ryuta Kamizono 提交于
-
由 Akira Matsuda 提交于
-
由 yui-knk 提交于
Rails has abstract Reflection classes (`MacroReflection`, `AssociationReflection` etc.) and concrete Reflection classes (e.g. `HasManyReflection`, `HasOneReflection` etc.). In many case `calculate_constructable` returns `true`, so change `calculate_constructable` to always return `true` and override this method if necessary.
-
由 Tony Miller 提交于
I've gotten tripped up more than a few times on this, thinking that using `belongs_to` with `touch: true` would trigger my after_save or after_update callbacks. The same text is in the documentation for the touch method itself, but I think its helpful to repeat it again here. It might save people some time.
-
由 Matthew Draper 提交于
-