class BazaMigrations::Commands::CreateTable

Public Class Methods

new(name) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 2
def initialize(name)
  @name = name

  @columns = []
  @columns << {name: :id, type: :int, autoincr: true, primarykey: true}
end

Public Instance Methods

belongs_to(name, args = {}) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 26
def belongs_to(name, args = {})
  @columns << {name: "#{name}_id", type: :int, null: true}.merge(default_args(args))
end
changed_rollback_sql() click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 38
def changed_rollback_sql
  ["DROP TABLE `#{@name}`"]
end
datetime(name, args = {}) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 30
def datetime(name, args = {})
  @columns << {name: name, type: :datetime}.merge(default_args(args))
end
integer(name, args = {}) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 17
def integer(name, args = {})
  @columns << {name: name, type: :int}.merge(default_args(args))
end
sql() click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 34
def sql
  db.tables.create(@name, {columns: @columns}, return_sql: true)
end
string(name, args = {}) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 9
def string(name, args = {})
  @columns << {name: name, type: :string}.merge(default_args(args))
end
text(name, args = {}) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 13
def text(name, args = {})
  @columns << {name: name, type: :text}.merge(default_args(args))
end
timestamps(args = {}) click to toggle source
# File lib/baza_migrations/commands/create_table.rb, line 21
def timestamps(args = {})
  @columns << {name: :created_at, type: :datetime}.merge(default_args(args))
  @columns << {name: :updated_at, type: :datetime}.merge(default_args(args))
end