From 7cb1f93bcccb2fe476c85e4df71eea06db9a3a5b Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 28 Sep 2007 14:10:51 +0000 Subject: MySQL: change_column raises if the table or column doesn't exist. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7665 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/lib/active_record/connection_adapters/mysql_adapter.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record/connection_adapters/mysql_adapter.rb') diff --git a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb index 9c55c51f46..a3195fae84 100755 --- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb @@ -408,7 +408,11 @@ module ActiveRecord def change_column(table_name, column_name, type, options = {}) #:nodoc: unless options_include_default?(options) - options[:default] = select_one("SHOW COLUMNS FROM #{table_name} LIKE '#{column_name}'")["Default"] + if result = select_one("SHOW COLUMNS FROM #{table_name} LIKE '#{column_name}'") + options[:default] = result['Default'] + else + raise "No such column: #{table_name}.#{column_name}" + end end change_column_sql = "ALTER TABLE #{table_name} CHANGE #{quote_column_name(column_name)} #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}" -- cgit v1.2.3