class GroongaClientModel::Migration::CreateTableMigration

Public Class Methods

new(migration, table_name) click to toggle source
# File lib/groonga_client_model/migration.rb, line 429
def initialize(migration, table_name)
  @migration = migration
  @table_name = table_name
end

Public Instance Methods

bool(column_name, **options)
Alias for: boolean
boolean(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 434
def boolean(column_name, **options)
  @migration.add_column(@table_name, column_name, :bool, **options)
end
Also aliased as: bool
float(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 483
def float(column_name, **options)
  @migration.add_column(@table_name, column_name, :float, **options)
end
geo_point(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 503
def geo_point(column_name, **options)
  datum = options.delete(:datum) || :wgs84
  case datum
  when :wgs84
    type = "WGS84GeoPoint"
  when :tokyo
    type = "TokyoGeoPoint"
  else
    message = "invalid geodetic datum: "
    message << "available: [:wgs84, :tokyo]: #{datum.inspect}"
    raise ArgumentError, message
  end
  @migration.add_column(@table_name, column_name, type, **options)
end
index(source_table_name, source_column_names, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 537
def index(source_table_name, source_column_names, **options)
  @migration.add_index(@table_name,
                       source_table_name,
                       source_column_names,
                       **options)
end
int16(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 455
def int16(column_name, **options)
  integer(column_name, **options.merge(bit: 16, unsigned: false))
end
int32(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 459
def int32(column_name, **options)
  integer(column_name, **options.merge(bit: 32, unsigned: false))
end
int64(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 463
def int64(column_name, **options)
  integer(column_name, **options.merge(bit: 64, unsigned: false))
end
int8(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 451
def int8(column_name, **options)
  integer(column_name, **options.merge(bit: 8, unsigned: false))
end
integer(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 439
def integer(column_name, **options)
  options = options.dup
  bit = options.delete(:bit) || 32
  unsigned = options.delete(:unsigned)
  if unsigned
    type = "uint#{bit}"
  else
    type = "int#{bit}"
  end
  @migration.add_column(@table_name, column_name, type, **options)
end
long_text(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 499
def long_text(column_name, **options)
  @migration.add_column(@table_name, column_name, :long_text, **options)
end
reference(column_name, reference_table_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 526
def reference(column_name, reference_table_name, **options)
  @migration.add_column(@table_name,
                        column_name,
                        reference_table_name,
                        **options)
end
short_text(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 491
def short_text(column_name, **options)
  @migration.add_column(@table_name, column_name, :short_text, **options)
end
text(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 495
def text(column_name, **options)
  @migration.add_column(@table_name, column_name, :text, **options)
end
time(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 487
def time(column_name, **options)
  @migration.add_column(@table_name, column_name, :time, **options)
end
timestamps() click to toggle source
# File lib/groonga_client_model/migration.rb, line 533
def timestamps
  @migration.add_timestamp_columns(@table_name)
end
tokyo_geo_point(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 522
def tokyo_geo_point(column_name, **options)
  geo_point(column_name, **options.merge(datum: :tokyo))
end
uint16(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 471
def uint16(column_name, **options)
  integer(column_name, **options.merge(bit: 16, unsigned: true))
end
uint32(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 475
def uint32(column_name, **options)
  integer(column_name, **options.merge(bit: 32, unsigned: true))
end
uint64(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 479
def uint64(column_name, **options)
  integer(column_name, **options.merge(bit: 64, unsigned: true))
end
uint8(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 467
def uint8(column_name, **options)
  integer(column_name, **options.merge(bit: 8, unsigned: true))
end
wgs84_geo_point(column_name, **options) click to toggle source
# File lib/groonga_client_model/migration.rb, line 518
def wgs84_geo_point(column_name, **options)
  geo_point(column_name, **options.merge(datum: :wgs84))
end