diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-02-28 04:49:47 -0800 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-02-28 04:49:47 -0800 |
commit | 8f6b70f1fd49b8520a744cc90102051043faf315 (patch) | |
tree | 30c2f502ca9c4833e980eabf65b384243f9c1e00 /activerecord/test/cases | |
parent | a3894380eb6e94b9d0f240d41dcd4af44f1d1dcf (diff) | |
parent | 5d0ca7462255b7d52a007cfe5bbc7e1bf67c3f79 (diff) | |
download | rails-8f6b70f1fd49b8520a744cc90102051043faf315.tar.gz rails-8f6b70f1fd49b8520a744cc90102051043faf315.tar.bz2 rails-8f6b70f1fd49b8520a744cc90102051043faf315.zip |
Merge pull request #9484 from senny/9480_change_table_and_hstore
Support PostgreSQL specific column types when using `change_table`.
We use `TableDefinition` for `#create_table` and `Table` for `#change_table`.
The PostgreSQL sepcific types were only defined on `TableDefinition` so they needed to be added to `Table` as well.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/hstore_test.rb | 15 | ||||
-rw-r--r-- | activerecord/test/cases/adapters/postgresql/json_test.rb | 15 |
2 files changed, 30 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/postgresql/hstore_test.rb b/activerecord/test/cases/adapters/postgresql/hstore_test.rb index 6640f9b497..ad98d7c8ce 100644 --- a/activerecord/test/cases/adapters/postgresql/hstore_test.rb +++ b/activerecord/test/cases/adapters/postgresql/hstore_test.rb @@ -65,6 +65,21 @@ class PostgresqlHstoreTest < ActiveRecord::TestCase assert_equal :hstore, @column.type end + def test_change_table_supports_hstore + @connection.transaction do + @connection.change_table('hstores') do |t| + t.hstore 'users', default: '' + end + Hstore.reset_column_information + column = Hstore.columns.find { |c| c.name == 'users' } + assert_equal :hstore, column.type + + raise ActiveRecord::Rollback # reset the schema change + end + ensure + Hstore.reset_column_information + end + def test_type_cast_hstore assert @column diff --git a/activerecord/test/cases/adapters/postgresql/json_test.rb b/activerecord/test/cases/adapters/postgresql/json_test.rb index d64037eec0..6fc08ae4f0 100644 --- a/activerecord/test/cases/adapters/postgresql/json_test.rb +++ b/activerecord/test/cases/adapters/postgresql/json_test.rb @@ -31,6 +31,21 @@ class PostgresqlJSONTest < ActiveRecord::TestCase assert_equal :json, @column.type end + def test_change_table_supports_json + @connection.transaction do + @connection.change_table('json_data_type') do |t| + t.json 'users', default: '{}' + end + JsonDataType.reset_column_information + column = JsonDataType.columns.find { |c| c.name == 'users' } + assert_equal :json, column.type + + raise ActiveRecord::Rollback # reset the schema change + end + ensure + JsonDataType.reset_column_information + end + def test_type_cast_json assert @column |