- 03 12月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 01 12月, 2017 1 次提交
-
-
由 Travis Hunter 提交于
Add validate_constraint and update naming
-
- 30 11月, 2017 1 次提交
-
-
由 Greg Navis 提交于
Add support for specifying non-default operator classes in PostgreSQL indexes. An example CREATE INDEX query that becomes possible is: CREATE INDEX users_name ON users USING gist (name gist_trgm_ops); Previously it was possible to specify the `gist` index but not the custom operator class. The `add_index` call for the above query is: add_index :users, :name, using: :gist, opclasses: {name: :gist_trgm_ops}
-
- 25 9月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 23 9月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Currently the normalization only exists in `primary_key` shorthand. It should be moved to `new_column_definition` to also affect to `add_column` with primary key.
-
- 01 9月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Fixes #30496.
-
- 20 7月, 2017 1 次提交
-
-
由 Kir Shatrov 提交于
-
- 02 7月, 2017 1 次提交
-
-
由 Matthew Draper 提交于
This reverts commit 3420a145, reversing changes made to afb66a5a.
-
- 01 7月, 2017 1 次提交
-
-
由 Kir Shatrov 提交于
-
- 19 5月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
This is a regression due to #28282. Fixes #29136.
-
- 17 4月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Since 1a92ae83 all `indexes` methods are under the `SchemaStatements`.
-
- 16 4月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
* Use keyword arguments in `IndexDefinition` to ease to ignore unused options and to avoid to initialize incorrect empty value. * Place it in `SchemaStatements` for consistency. * And tiny tweaks.
-
- 04 3月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Sharing `options` causes some unexpected behavior. If `limit: 2` is specified, this means that 2 bytes integer for a reference id column and 2 chars string for a reference type column. Another example, if `unsigned: true` is specified, this means that unsigned integer for a reference id column, but a invalid option for a reference type column. So `options` should not be shared with a reference type column.
-
- 09 2月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Column options are passed as an hash args then used as `options` hash in `add_column_options!`. Converting args to attributes is inconvinient for using options as an hash.
-
- 07 2月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
Follow up to #26266. The default type of `primary_key` and `references` were changed to `bigint` since #26266. But legacy migration and sqlite3 adapter should keep its previous behavior.
-
- 02 2月, 2017 1 次提交
-
-
由 Ryuta Kamizono 提交于
MySQL generated columns: https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html MariaDB virtual columns: https://mariadb.com/kb/en/mariadb/virtual-computed-columns/ Declare virtual columns with `t.virtual name, type: …, as: "expression"`. Pass `stored: true` to persist the generated value (false by default). Example: create_table :generated_columns do |t| t.string :name t.virtual :upper_name, type: :string, as: "UPPER(name)" t.virtual :name_length, type: :integer, as: "LENGTH(name)", stored: true t.index :name_length # May be indexed, too! end Closes #22589
-
- 13 1月, 2017 1 次提交
-
-
由 Akira Matsuda 提交于
because Struct.new returns a Class, we just can give it a name and use it directly without inheriting from it
-
- 23 12月, 2016 1 次提交
-
-
由 Akira Matsuda 提交于
-
- 06 12月, 2016 1 次提交
-
-
由 Jon McCartie 提交于
-
- 20 10月, 2016 1 次提交
-
-
由 Orhan Toy 提交于
This commit fixes the generated HTML of the two code examples.
-
- 18 8月, 2016 1 次提交
-
-
invalid column type /activerecord/lib/active_record/connection_adapters /abstract/schema_definitions.rb:306 type = type.to_sym Changed to the following to handle nil case: type = type.to_sym if type Added regression test for this case: /activerecord/test/cases/migration_test.rb:554 if current_adapter?(:SQLite3Adapter) def test_allows_sqlite3_rollback_on_invalid_column_type Person.connection.create_table :something, force: true do |t| t.column :number, :integer t.column :name, :string t.column :foo, :bar end assert Person.connection.column_exists?(:something, :foo) assert_nothing_raised { Person.connection.remove_column :something, :foo, :bar } assert !Person.connection.column_exists?(:something, :foo) assert Person.connection.column_exists?(:something, :name) assert Person.connection.column_exists?(:something, :number) ensure Person.connection.drop_table :something, if_exists: true end end
-
- 14 8月, 2016 1 次提交
-
-
由 Ryuta Kamizono 提交于
Unfortunately `t.timestamps` in `create_table` allows unused splat args. But the same one in `change_table` does not allow them. This commit fixes the inconsistent behavior.
-
- 07 8月, 2016 3 次提交
-
-
由 Xavier Noria 提交于
-
由 Xavier Noria 提交于
-
由 Xavier Noria 提交于
The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
-
- 02 8月, 2016 1 次提交
-
-
由 Alex Robbin 提交于
-
- 02 6月, 2016 1 次提交
-
-
由 Sean Griffin 提交于
Currently CI is broken due to 56a61e0c and c4cb6862. This occurred because the failures are not present on SQLite which is what I normally run locally before pushing. The optimizations to our YAML size were dropping mutations, as `with_type` didn't set the previous value if it'd already been read (that method was never really designed to be used with values on individual objects, it was previously only used for defaults). I'm questioning whether there's a better place to be handling the exclusion of the type, but this will fix the failing build. Additionally, there was a bug in `remove_foreign_key` if you passed it an options hash containing `to_table`. This now occurs whenever removing a reference, as we always normalize to a hash. [Sean Griffin & Ryuta Kamizono]
-
- 19 4月, 2016 2 次提交
-
-
由 Ryuta Kamizono 提交于
-
由 Jeremy Daer 提交于
* Switch to keyword args where we can without breaking compat. * Use add_table_options! for :options, too. * Some code polish.
-
- 16 4月, 2016 1 次提交
-
-
由 Andrey Novikov 提交于
Comments are specified in migrations, stored in database itself (in its schema), and dumped into db/schema.rb file. This allows to generate good documentation and explain columns and tables' purpose to everyone from new developers to database administrators. For PostgreSQL and MySQL only. SQLite does not support comments at the moment. See docs for PostgreSQL: http://www.postgresql.org/docs/current/static/sql-comment.html See docs for MySQL: http://dev.mysql.com/doc/refman/5.7/en/create-table.html
-
- 16 2月, 2016 1 次提交
-
-
由 George Millo 提交于
Previously if you used `t.foreign_key` twice within the same `create_table` block using the same `to_table`, all statements except the final one would fail silently. For example, the following code: def change create_table :flights do |t| t.integer :from_id, index: true, null: false t.integer :to_id, index: true, null: false t.foreign_key :airports, column: :from_id t.foreign_key :airports, column: :to_id end end Would only create one foreign key, on the column `from_id`. This commit allows multiple foreign keys to the same table to be created within one `create_table` block.
-
- 07 2月, 2016 1 次提交
-
-
由 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 ```
-
- 24 1月, 2016 1 次提交
-
-
由 Prathamesh Sonpatki 提交于
- Using `references` or `belongs_to` in migrations will always add index for the referenced column by default, without adding `index:true` option to generated migration file. - Users can opt out of this by passing `index: false`. - Legacy migrations won't be affected by this change. They will continue to run as they were before. - Fixes #18146
-
- 15 12月, 2015 2 次提交
-
-
由 Matthew Draper 提交于
Even though this means more things to change when we bump after a release, it's more important that our examples are directly copyable.
-
由 Matthew Draper 提交于
If we use a real version, at best that'll be an onerous update required for each release; at worst, it will encourage users to write new migrations against an older version than they're using. The other option would be to leave these bare, without any version specifier. But as that's just a variant spelling of "4.2", it would seem to raise the same concerns as above.
-
- 08 11月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
The `native_database_types` only used in `TableDefinition` for look up the default `:limit` option. But this is duplicated process with `type_to_sql`. Passing `native_database_types` is not needed.
-
- 04 11月, 2015 1 次提交
-
-
由 Andrew White 提交于
Columns are no longer stored in an attribute since b8a533d5. [ci skip]
-
- 21 10月, 2015 2 次提交
-
-
由 jbranchaud 提交于
The getter is doing nothing more than returning the ivar, so it can be extracted to an attr_reader.
-
由 Yves Senn 提交于
[ci skip] It's been a source of confusion that the lower-level `add_column` referenced the higher level `column` method for available options. `column` supports additional functionality like `index: true` that is not present on `add_column`. This patch moves common option documentation to `add_column` and only documents the additional options in `column`.
-
- 14 10月, 2015 1 次提交
-
-
由 Yves Senn 提交于
The focus of this change is to make the API more accessible. References to method and classes should be linked to make it easy to navigate around. This patch makes exzessiv use of `rdoc-ref:` to provide more readable docs. This makes it possible to document `ActiveRecord::Base#save` even though the method is within a separate module `ActiveRecord::Persistence`. The goal here is to bring the API closer to the actual code that you would write. This commit only deals with Active Record. The other gems will be updated accordingly but in different commits. The pass through Active Record is not completely finished yet. A follow up commit will change the spots I haven't yet had the time to update. /cc @fxn
-