mirror of
https://github.com/github/rails.git
synced 2026-01-29 00:08:15 -05:00
MySQL: omit text/blob defaults from the schema instead of using an empty string. Closes #10963.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8757 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* MySQL: omit text/blob defaults from the schema instead of using an empty string. #10963 [mdeiters]
|
||||
|
||||
* belongs_to supports :dependent => :destroy and :delete. #10592 [Jonathan Viney]
|
||||
|
||||
* Introduce preload query strategy for eager :includes. #9640 [Frederick Cheung, Aleksey Kondratenko]
|
||||
|
||||
@@ -94,7 +94,7 @@ module ActiveRecord
|
||||
def extract_default(default)
|
||||
if type == :binary || type == :text
|
||||
if default.blank?
|
||||
default
|
||||
nil
|
||||
else
|
||||
raise ArgumentError, "#{type} columns cannot have a default value: #{default.inspect}"
|
||||
end
|
||||
|
||||
@@ -853,11 +853,7 @@ if ActiveRecord::Base.connection.supports_migrations?
|
||||
columns = Person.connection.columns(:binary_testings)
|
||||
data_column = columns.detect { |c| c.name == "data" }
|
||||
|
||||
if current_adapter?(:MysqlAdapter)
|
||||
assert_equal '', data_column.default
|
||||
else
|
||||
assert_nil data_column.default
|
||||
end
|
||||
assert_nil data_column.default
|
||||
|
||||
Person.connection.drop_table :binary_testings rescue nil
|
||||
end
|
||||
|
||||
@@ -84,7 +84,6 @@ if ActiveRecord::Base.connection.respond_to?(:tables)
|
||||
assert_no_match %r{create_table "schema_info"}, output
|
||||
end
|
||||
|
||||
|
||||
def test_schema_dump_with_regexp_ignored_table
|
||||
stream = StringIO.new
|
||||
|
||||
@@ -96,7 +95,6 @@ if ActiveRecord::Base.connection.respond_to?(:tables)
|
||||
assert_no_match %r{create_table "schema_info"}, output
|
||||
end
|
||||
|
||||
|
||||
def test_schema_dump_illegal_ignored_table_value
|
||||
stream = StringIO.new
|
||||
ActiveRecord::SchemaDumper.ignore_tables = [5]
|
||||
@@ -108,7 +106,7 @@ if ActiveRecord::Base.connection.respond_to?(:tables)
|
||||
if current_adapter?(:MysqlAdapter)
|
||||
def test_schema_dump_should_not_add_default_value_for_mysql_text_field
|
||||
output = standard_dump
|
||||
assert_match %r{t.text\s+"body",\s+:default => "",\s+:null => false$}, output
|
||||
assert_match %r{t.text\s+"body",\s+:null => false$}, output
|
||||
end
|
||||
|
||||
def test_mysql_schema_dump_should_honor_nonstandard_primary_keys
|
||||
|
||||
Reference in New Issue
Block a user