class Mkxms::Mssql::TableType
Constants
- SQL_OBJECT_TYPE
Attributes
name[RW]
schema[RW]
Public Class Methods
new(attrs)
click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 138 def initialize(attrs) a = attrs info_ver = (a['eyewkas_ver'] || 1.0).to_f raise "mssql-eyewkas table-type ver. 1.1 or compatible required" if info_ver < 1.1 || info_ver >= 2 @schema = a['schema'] @name = a['name'] end
Public Instance Methods
to_sql()
click to toggle source
# File lib/mkxms/mssql/table_type_handler.rb, line 149 def to_sql [].tap do |lines| lines << "CREATE TYPE #{qualified_name} AS TABLE (" columns.each_with_index do |col, i| lines << " #{i == 0 ? " " : ","} #{col.name} #{col.type_spec}" end constraints.each do |c| lines << " , #{c.to_sql}" end lines << ");" lines << extended_properties_sql columns.each do |col| lines << subitem_extended_properties_sql(col) end end end