method
add_column_options!
v8.1.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaCreation
add_column_options!(sql, options)private
No documentation available.
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_creation.rb, line 124
def add_column_options!(sql, options)
if options[:collation]
sql << " COLLATE \"#{options[:collation]}\""
end
if as = options[:as]
stored = options[:stored]
if stored != true && database_version < 18_00_00
raise ArgumentError, <<~MSG
PostgreSQL versions before 18 do not support VIRTUAL (not persisted) generated columns.
Specify 'stored: true' option for '#{options[:column].name}'
MSG
end
sql << " GENERATED ALWAYS AS (#{as})"
sql << (stored ? " STORED" : " VIRTUAL")
end
super
end
def quoted_include_columns(o)
String === o ? o : quoted_include_columns_for_index(o)
end
# Returns any SQL string to go between CREATE and TABLE. May be nil.
def table_modifier_in_create(o)
# A table cannot be both TEMPORARY and UNLOGGED, since all TEMPORARY
# tables are already UNLOGGED.
if o.temporary
" TEMPORARY"
elsif o.unlogged
" UNLOGGED"
end
end
end
end