142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# File 'lib/myq/core.rb', line 142
def generate_alter(k, v)
if v.nil?
"\`#{k}\` varchar(255)"
elsif k =~ /^id$/i
"\`id\` integer NOT NULL auto_increment PRIMARY KEY"
elsif v.class == String
to_time_or_nil(v).nil? ? "\`#{k}\` varchar(255)" : "\`#{k}\` datetime"
elsif v.class == Fixnum
"\`#{k}\` integer"
elsif v.class == Array
"\`#{k}\` text"
elsif v.class == Hash
"\`#{k}\` text"
elsif v.respond_to?(:strftime)
"\`#{k}\` datetime"
end
end
|