method
add_column_options!
v8.0.0 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::MySQL::SchemaCreation
add_column_options!(sql, options)private
No documentation available.
# File activerecord/lib/active_record/connection_adapters/mysql/schema_creation.rb, line 62
def add_column_options!(sql, options)
# By default, TIMESTAMP columns are NOT NULL, cannot contain NULL values,
# and assigning NULL assigns the current timestamp. To permit a TIMESTAMP
# column to contain NULL, explicitly declare it with the NULL attribute.
# See https://dev.mysql.com/doc/refman/en/timestamp-initialization.html
if /\Atimestamp\b/.match?(options[:column].sql_type) && !options[:primary_key]
sql << " NULL" unless options[:null] == false || options_include_default?(options)
end
if charset = options[:charset]
sql << " CHARACTER SET #{charset}"
end
if collation = options[:collation]
sql << " COLLATE #{collation}"
end
if as = options[:as]
sql << " AS (#{as})"
if options[:stored]
sql << (mariadb? ? " PERSISTENT" : " STORED")
end
end
add_sql_comment!(super, options[:comment])
end