README.md in schema_plus-1.6.0 vs README.md in schema_plus-1.7.0
- old
+ new
@@ -8,21 +8,21 @@
For added rails DRYness see also the gems
[schema_associations](http://rubygems.org/gems/schema_associations) and
[schema_validations](http://rubygems.org/gems/schema_validations)
[![Gem Version](https://badge.fury.io/rb/schema_plus.png)](http://badge.fury.io/rb/schema_plus)
-[![Build Status](https://secure.travis-ci.org/lomba/schema_plus.png)](http://travis-ci.org/lomba/schema_plus)
-[![Dependency Status](https://gemnasium.com/lomba/schema_plus.png)](https://gemnasium.com/lomba/schema_plus)
+[![Build Status](https://secure.travis-ci.org/SchemaPlus/schema_plus.png)](http://travis-ci.org/SchemaPlus/schema_plus)
+[![Dependency Status](https://gemnasium.com/SchemaPlus/schema_plus.png)](https://gemnasium.com/SchemaPlus/schema_plus)
## Compatibility
SchemaPlus supports all combinations of:
* Rails/ActiveRecord 3.2, 4.0, and 4.1
* PostgreSQL, MySQL (using mysql2 gem; mysql gem only supported with Rails
- 3.2), or SQLite3 (using sqlite3 >= 3.7.7 which has foreign key support)
-* MRI Ruby 1.9.3, 2.0.0, or 2.1.0
+ 3.2), or SQLite3 (using sqlite3 >= 3.7.7 for foreign key support, >= 3.8 for partial indexes)
+* MRI Ruby >= 1.9.3
And also supports:
* jruby with Rails/ActiveRecord 3.2 and PostgreSQL or MySQL
@@ -90,17 +90,20 @@
which is equivalent to
t.string :product_code, index: { unique: true }
If you're using PostgreSQL, SchemaPlus provides support for conditions,
-expressions, index methods, and case-insensitive indexes:
+expressions, index methods, operator classes, and case-insensitive indexes:
t.string :last_name, index: { conditions: 'deleted_at IS NULL' }
t.string :last_name, index: { expression: 'upper(last_name)' }
t.string :last_name, index: { kind: 'hash' }
- t.string :last_name, index: { case_sensitive: false } # shorthand for expression: 'lower(last_name)'
+ t.string :last_name, index: { operator_class: 'varchar_pattern_ops' }
+ t.string :last_name, index: { with: :address, operator_class: {last_name: 'varchar_pattern_ops', address: 'text_pattern_ops' }
+ t.string :last_name, index: { case_sensitive: false } # shorthand for expression: 'lower(last_name)'
+
These features are available also in `ActiveRecord::Migration.add_index`. See
doc for [SchemaPlus::ActiveRecord::ConnectionAdapters::PostgresqlAdapter](http://rubydoc.info/gems/schema_plus/SchemaPlus/ActiveRecord/ConnectionAdapters/PostgresqlAdapter) and
[SchemaPlus::ActiveRecord::ConnectionAdapters::IndexDefinition](http://rubydoc.info/gems/schema_plus/SchemaPlus/ActiveRecord/ConnectionAdapters/IndexDefinition)
When you query column information using ActiveRecord::Base#columns, SchemaPlus
@@ -178,11 +181,11 @@
Foreign keys can cause issues for Rails utilities that delete or load data
because referential integrity imposes a sequencing requirement that those
utilities may not take into consideration. Monkey-patching may be required
to address some of these issues. The Wiki article [Making yaml_db work with
-foreign key constraints in PostgreSQL](https://github.com/lomba/schema_plus/wiki/Making-yaml_db-work-with-foreign-key-constraints-in-PostgreSQL)
+foreign key constraints in PostgreSQL](https://github.com/SchemaPlus/schema_plus/wiki/Making-yaml_db-work-with-foreign-key-constraints-in-PostgreSQL)
has some information that may be of assistance in resolving these issues.
### Tables
SchemaPlus extends rails' `drop_table` method to accept these options:
@@ -320,25 +323,25 @@
* SchemaPlus is derived from several "Red Hill On Rails" plugins originally
created by [@harukizaemon](https://github.com/harukizaemon)
* SchemaPlus was created in 2011 by [@mlomnicki](https://github.com/mlomnicki) and [@ronen](https://github.com/ronen)
-* And [lots of contributors](https://github.com/lomba/schema_plus/graphs/contributors) since then
+* And [lots of contributors](https://github.com/SchemaPlus/schema_plus/graphs/contributors) since then
## Development & Testing
Are you interested in contributing to schema_plus? Thanks!
-Schema_plus has a full set of rspec tests. [travis-ci](http://travis-ci.org/lomba/schema_plus) runs the tests on the full matrix of supported versions of ruby, rails, and db adapters. But you can also test all or some part of the matrix locally before you push your changes. Here's what you need to know:
+Schema_plus has a full set of rspec tests. [travis-ci](http://travis-ci.org/SchemaPlus/schema_plus) runs the tests on the full matrix of supported versions of ruby, rails, and db adapters. But you can also test all or some part of the matrix locally before you push your changes. Here's what you need to know:
#### Required environment:
-* You must have either [rbenv](https://github.com/sstephenson/rbenv) or [rvm](http://rvm.io) installed and working, whichever you prefer. Within it, have available whichever ruby versions you want to test. The default set is MRI 1.9.3, 2.0.0, 2.1.0, and jruby
+* You must have one of [chruby](https://github.com/postmodern/chruby),) [rbenv](https://github.com/sstephenson/rbenv) or [rvm](http://rvm.io) installed and working. Within it, have available whichever ruby versions you want to test. The default set is MRI 1.9.3, 2.1.3, and jruby
* Of course you must have installed whichever databases you want to test. The default set is: PostgreSQL, MySQL, and SQLite3.
-* For PostgreSQL and MySQL the tests need a db user with permissions to create and access databases: The default username used by the specs is 'postgres' for PostgreSQL and 'schema_plus' for MySQL; you can change them via:
+* For PostgreSQL and MySQL the tests need a db user with permissions to create and access databases: The default username used by the specs is 'schema_plus' for both PostgreSQL and MySQL; you can change them via:
$ export POSTGRESQL_DB_USER = pgusername
$ export MYSQL_DB_USER = mysqlusername
* For PostgreSQL and MySQL you must explicitly create the databases used by the tests:
@@ -375,12 +378,5 @@
$ ./runspecs [matrix options] --rspec -- [rspec args]
e.g.
$ ./runspecs --quick --rspec -- spec/migration_spec.rb -e 'default name'
Contributions to making the testing process itself easier and better will also be gratefully accepted!
-
-
--
-
-
-[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/lomba/schema_plus/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
-