- 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
-
- 11 3月, 2016 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 08 3月, 2016 1 次提交
-
-
由 Ryuta Kamizono 提交于
Currently the results of `column.serial?` is not correct. For `column.serial?` correctly working, initialize `column.table_name` immediately.
-
- 06 2月, 2016 1 次提交
-
-
由 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.
-
- 08 1月, 2016 1 次提交
-
-
由 schneems 提交于
This PR introduces a key/value type store to Active Record that can be used for storing internal values. It is an alternative implementation to #21237 cc @sgrif @matthewd. It is possible to run your tests against your production database by accident right now. While infrequently, but as an anecdotal data point, Heroku receives a non-trivial number of requests for a database restore due to this happening. In these cases the loss can be large. To prevent against running tests against production we can store the "environment" version that was used when migrating the database in a new internal table. Before executing tests we can see if the database is a listed in `protected_environments` and abort. There is a manual escape valve to force this check from happening with environment variable `DISABLE_DATABASE_ENVIRONMENT_CHECK=1`.
-
- 23 9月, 2015 1 次提交
-
-
由 Yves Senn 提交于
These new methods are used from the Active Record model layer to determine which relations are viable to back a model. These new methods allow us to change `conn.tables` in the future to only return tables and no views. Same for `conn.table_exists?`. The goal is to provide the following introspection methods on the connection: * `tables` * `table_exists?` * `views` * `view_exists?` * `data_sources` (views + tables) * `data_source_exists?` (views + tables)
-
- 20 9月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
Example: create_table :barcodes, primary_key: ["region", "code"] do |t| t.string :region t.integer :code end
-
- 17 9月, 2015 1 次提交
-
-
由 schneems 提交于
The schema_migrations table name is configurable. We should use this value when checking for ignored table names when dumping schema instead of a hardcoded value.
-
- 13 9月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
Now in sqlite3, mysql and mysql2 adapters, SchemaDumper dump a view as a table. It is incorrect behavior. This change excludes a view in schema.rb.
-
- 20 5月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 03 5月, 2015 2 次提交
-
-
由 Ryuta Kamizono 提交于
If the adapter supports indexes in create table, generated SQL is slightly more efficient.
-
由 Ryuta Kamizono 提交于
-
- 06 3月, 2015 1 次提交
-
-
由 Ryuta Kamizono 提交于
Example: create_table :foos do |t| t.string :string_utf8_bin, charset: 'utf8', collation: 'utf8_bin' t.text :text_ascii, charset: 'ascii' end
-
- 29 12月, 2014 1 次提交
-
-
由 Ryuta Kamizono 提交于
If it is not a default primary key, correctly dump the type and options.
-
- 26 12月, 2014 1 次提交
-
-
由 Ryuta Kamizono 提交于
-
- 19 12月, 2014 1 次提交
-
-
由 Yves Senn 提交于
-
- 02 12月, 2014 1 次提交
-
-
由 Yves Senn 提交于
-
- 21 11月, 2014 1 次提交
-
-
由 Sean Griffin 提交于
Technically changes the API, as it will allow any object which responds to `===`. Personally, I think this is more flexible.
-
- 30 10月, 2014 1 次提交
-
-
由 Aaron Patterson 提交于
-
- 17 9月, 2014 1 次提交
-
-
由 Yves Senn 提交于
-
- 08 9月, 2014 4 次提交
-
-
由 Jeremy Kemper 提交于
-
由 Tee Parham 提交于
* Add private method primary_key_for, which more clearly shows that the expected return value is nil when a primary key is not found.
-
由 Tee Parham 提交于
* Consistent whitespace * Remove unnecessary parentheses
-
由 Tee Parham 提交于
-
- 26 7月, 2014 1 次提交
-
-
由 Caleb Thompson 提交于
Gems which wish to tie into ActiveRecord::SchemaDumper need to duplicate this logic currently. [Foreigner] is one such example, as is a library I'm currently working on but which hasn't been released yet: def tables_with_foreign_keys(stream) tables_without_foreign_keys(stream) @connection.tables.sort.each do |table| next if ['schema_migrations', ignore_tables].flatten.any? do |ignored| case ignored when String; table == ignored when Regexp; table =~ ignored else raise StandardError, 'ActiveRecord::SchemaDumper.ignore_tables accepts an array of String and / or Regexp values.' end end foreign_keys(table, stream) end end [Foreigner]: https://github.com/matthuhiggins/foreigner/blob/master/lib/foreigner/schema_dumper.rb#L36-L43 Extract the skip logic to a method, making it much simpler to follow this same behavior in gems that are tying into the migration flow and let them dump only tables that aren't skipped without copying this block of code. The above code could then be simplified to: def tables_with_foreign_keys(stream) tables_without_foreign_keys(stream) @connection.tables.sort.each do |table| foreign_keys(table, stream) unless ignored?(table) end end It also, in my opinion, simplifies the logic on ActiveRecord's side, and clarifies the intent of the skip logic.
-
- 11 7月, 2014 1 次提交
-
-
由 Andrey Novikov 提交于
For example, if use pgcrypto extension in PostgreSQL 9.4 beta 1, where uuid-ossp extension isn't available for moment of writing, and thus to use a gen_random_uuid() method as a primary key default. In this case schema dumper wasn't able to correctly reconstruct create_table statement and lost primary key constraint on schema load. Fixes #16111.
-
- 27 6月, 2014 6 次提交
-
-
由 Yves Senn 提交于
The name of the foreign key is not relevant from a users perspective. Using random names resolves the urge to rename the foreign key when the respective table or column is renamed.
-
由 Yves Senn 提交于
-
由 Yves Senn 提交于
-
由 Yves Senn 提交于
-
由 Yves Senn 提交于
-
由 Yves Senn 提交于
respect `table_name_prefix` and `table_name_suffix`.
-
- 14 10月, 2013 2 次提交
-
-
由 Rafael Mendonça França 提交于
-
由 Rafael Mendonça França 提交于
Fixes #12489
-
- 23 8月, 2013 1 次提交
-
-
由 wangjohn 提交于
These options make it easier to change the config from ActiveRecord::Base to use something else inside of the SchemaDumper.
-
- 04 5月, 2013 1 次提交
-
-
由 Brian Buchanan 提交于
-
- 28 3月, 2013 2 次提交
-
-
由 Ken Mazaika 提交于
-
由 Ken Mazaika 提交于
-
- 26 3月, 2013 1 次提交
-
-
由 Ranjay Krishna 提交于
Created a layer of abstraction for the valid type checking in schema dumper. Now, connection handles the check for valid types so that each database can handle the changes individually.
-
- 16 2月, 2013 1 次提交
-
-
由 Jon Leighton 提交于
This reverts commit c321b309. Conflicts: activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb Reason: failing test 1) Error: test_valid_column(ActiveRecord::ConnectionAdapters::SQLite3AdapterTest): NoMethodError: undefined method `column' for test/cases/adapters/sqlite3/sqlite3_adapter_test.rb:29:in `test_valid_column'
-