class Baza::Driver::Mysql::Sql::CreateTable
Public Class Methods
new(args)
click to toggle source
# File lib/baza/driver/mysql/sql/create_table.rb, line 2 def initialize(args) @name = args.fetch(:name) @columns = args.fetch(:columns) @indexes = args[:indexes] @temporary = args[:temporary] end
Public Instance Methods
sql()
click to toggle source
# File lib/baza/driver/mysql/sql/create_table.rb, line 9 def sql sql = "CREATE" sql << " TEMPORARY" if @temporary sql << " TABLE #{Baza::Driver::Mysql.quote_table(@name)} (" first = true @columns.each do |col_data| sql << ", " unless first first = false if first col_data.delete(:after) if col_data[:after] sql << Baza::Driver::Mysql::Sql::Column.new(col_data).sql.first end if @indexes && !@indexes.empty? sql << ", " sql << Baza::Driver::Mysql::Sql::CreateIndexes.new( indexes: @indexes, create: false, on_table: false, table_name: @name ).sql.first end sql << ")" [sql] end