aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/migration_test.rb
diff options
context:
space:
mode:
authorMarcel Molina <marcel@vernix.org>2006-05-14 18:37:22 +0000
committerMarcel Molina <marcel@vernix.org>2006-05-14 18:37:22 +0000
commit9c5591da2dd9404ac189690ad59670ec7d364b16 (patch)
tree82211ae534882e127cf11a88a78ba5da0366421d /activerecord/test/migration_test.rb
parentf2b3deb85cab1389d6b895b2e45b33054a96a6ba (diff)
downloadrails-9c5591da2dd9404ac189690ad59670ec7d364b16.tar.gz
rails-9c5591da2dd9404ac189690ad59670ec7d364b16.tar.bz2
rails-9c5591da2dd9404ac189690ad59670ec7d364b16.zip
Preserve MySQL boolean column defaults when changing a column in a migration. Closes #5015. [pdcawley@bofh.org.uk]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4340 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/migration_test.rb')
-rw-r--r--activerecord/test/migration_test.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/activerecord/test/migration_test.rb b/activerecord/test/migration_test.rb
index 5714f539ca..e71790ed1f 100644
--- a/activerecord/test/migration_test.rb
+++ b/activerecord/test/migration_test.rb
@@ -1,5 +1,6 @@
require 'abstract_unit'
require 'fixtures/person'
+require 'fixtures/topic'
require File.dirname(__FILE__) + '/fixtures/migrations/1_people_have_last_names'
require File.dirname(__FILE__) + '/fixtures/migrations/2_we_need_reminders'
@@ -320,6 +321,13 @@ if ActiveRecord::Base.connection.supports_migrations?
new_columns = Person.connection.columns(Person.table_name, "#{name} Columns")
assert_nil new_columns.find { |c| c.name == 'age' and c.type == :integer }
assert new_columns.find { |c| c.name == 'age' and c.type == :string }
+
+ old_columns = Topic.connection.columns(Topic.table_name, "#{name} Columns")
+ assert old_columns.find { |c| c.name == 'approved' and c.type == :boolean and c.default == true }
+ assert_nothing_raised { Topic.connection.change_column :topics, :approved, :boolean, :default => false }
+ new_columns = Topic.connection.columns(Topic.table_name, "#{name} Columns")
+ assert_nil new_columns.find { |c| c.name == 'approved' and c.type == :boolean and c.default == true }
+ assert new_columns.find { |c| c.name == 'approved' and c.type == :boolean and c.default == false }
end
def test_change_column_with_new_default