Rolled back broken #1814

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2203 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 c0e618cf
......@@ -28,8 +28,6 @@ class StaleObjectError < ActiveRecordError #:nodoc:
end
class ConfigurationError < StandardError #:nodoc:
end
class UnknownTypeError < ActiveRecordError #:nodoc:
end
class AttributeAssignmentError < ActiveRecordError #:nodoc:
attr_reader :exception, :attribute
......@@ -224,7 +222,6 @@ def initialize(errors)
# objects that should be inspected to determine which attributes triggered the errors.
# * +AttributeAssignmentError+ -- an error occurred while doing a mass assignment through the +attributes=+ method.
# You can inspect the +attribute+ property of the exception object to determine which attribute triggered the error.
# * +UnknownTypeError+ -- Raised when AbstractAdapter#type_to_sql cannot map the type given to a native type.
#
# *Note*: The attributes listed are class-level attributes (accessible from both the class and instance level).
# So it's possible to assign a logger to the class through Base.logger= which will then be used by all
......
......@@ -392,7 +392,6 @@ def drop_table(name)
end
def add_column(table_name, column_name, type, options = {})
native_type = native_database_types[type]
add_column_sql = "ALTER TABLE #{table_name} ADD #{column_name} #{type_to_sql(type, options[:limit])}"
add_column_options!(add_column_sql, options)
execute(add_column_sql)
......@@ -431,14 +430,7 @@ def native_database_types
end
def type_to_sql(type, limit = nil)
unless native = native_database_types[type]
raise(
ActiveRecord::UnknownTypeError,
"Unable to convert type '#{type}' to a native type. " +
"Valid options: #{native_database_types.keys.to_sentence}"
)
end
native = native_database_types[type]
limit ||= native[:limit]
column_type_sql = native[:name]
column_type_sql << "(#{limit})" if limit
......
require 'abstract_unit'
class ActiveSchemaTest < Test::Unit::TestCase
def test_add_column_with_native_type_rejected
assert_raises ActiveRecord::UnknownTypeError do
add_column(:people, :varchar, :limit => 15)
end
end
private
def method_missing(method_symbol, *arguments)
ActiveRecord::Base.connection.send(method_symbol, *arguments)
end
end
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册