diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-02-23 07:16:04 -0800 |
---|---|---|
committer | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2013-02-23 07:16:04 -0800 |
commit | 23048551fdb679e694d8245e9f8c969ed7a71f40 (patch) | |
tree | 621936114385a739423765af2469f2d1168bd966 /activerecord | |
parent | cad397ea2bdeec77792201b9f10cedae6b62163b (diff) | |
parent | d03928c81a3a12b92ee6db4caf27f1e1643ca2a7 (diff) | |
download | rails-23048551fdb679e694d8245e9f8c969ed7a71f40.tar.gz rails-23048551fdb679e694d8245e9f8c969ed7a71f40.tar.bz2 rails-23048551fdb679e694d8245e9f8c969ed7a71f40.zip |
Merge pull request #9389 from senny/forwardport_9388
Forwardport #9388 rename/remove column preserves custom PK.
Diffstat (limited to 'activerecord')
-rw-r--r-- | activerecord/test/cases/migration/columns_test.rb (renamed from activerecord/test/cases/migration/rename_column_test.rb) | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/activerecord/test/cases/migration/rename_column_test.rb b/activerecord/test/cases/migration/columns_test.rb index 88bea2211d..05e93986ef 100644 --- a/activerecord/test/cases/migration/rename_column_test.rb +++ b/activerecord/test/cases/migration/columns_test.rb @@ -128,7 +128,7 @@ module ActiveRecord assert_equal 1, connection.indexes('test_models').size remove_column("test_models", "hat_size") - # Every database and/or database adapter has their own behavior + # Every database and/or database adapter has their own behavior # if it drops the multi-column index when any of the indexed columns dropped by remove_column. if current_adapter?(:PostgreSQLAdapter, :OracleAdapter) assert_equal [], connection.indexes('test_models').map(&:name) @@ -245,6 +245,20 @@ module ActiveRecord def test_remove_column_no_second_parameter_raises_exception assert_raise(ArgumentError) { connection.remove_column("funny") } end + + def test_removing_and_renaming_column_preserves_custom_primary_key + connection.create_table "my_table", primary_key: "my_table_id", force: true do |t| + t.integer "col_one" + t.string "col_two", limit: 128, null: false + end + + remove_column("my_table", "col_two") + rename_column("my_table", "col_one", "col_three") + + assert_equal 'my_table_id', connection.primary_key('my_table') + ensure + connection.drop_table(:my_table) rescue nil + end end end end |