From 4498aad4acda002b8f213f13c4acd52cba04d224 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 27 Jun 2008 01:06:33 -0700 Subject: MySQL: treat integer with :limit => 11 as a display width, not byte size, for backward-compatibility. --- .../lib/active_record/connection_adapters/mysql_adapter.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (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 dd54950790..c5962764f5 100755 --- a/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb @@ -473,11 +473,12 @@ module ActiveRecord return super unless type.to_s == 'integer' case limit - when 1; 'tinyint' - when 2; 'smallint' - when 3; 'mediumint' - when 4, nil; 'int(11)' - else; 'bigint' + when 1; 'tinyint' + when 2; 'smallint' + when 3; 'mediumint' + when nil, 4, 11; 'int(11)' # compatibility with MySQL default + when 5..8; 'bigint' + else raise(ActiveRecordError, "No integer type has byte size #{limit}") end end -- cgit v1.2.3