Class: GroongaClientModel::Migration::CreateTableMigration

Inherits:
Object
  • Object
show all
Defined in:
lib/groonga_client_model/migration.rb

Instance Method Summary collapse

Constructor Details

#initialize(migration, table_name) ⇒ CreateTableMigration

Returns a new instance of CreateTableMigration.



429
430
431
432
# File 'lib/groonga_client_model/migration.rb', line 429

def initialize(migration, table_name)
  @migration = migration
  @table_name = table_name
end

Instance Method Details

#boolean(column_name, **options) ⇒ Object Also known as: bool



434
435
436
# File 'lib/groonga_client_model/migration.rb', line 434

def boolean(column_name, **options)
  @migration.add_column(@table_name, column_name, :bool, **options)
end

#float(column_name, **options) ⇒ Object



483
484
485
# 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) ⇒ Object



503
504
505
506
507
508
509
510
511
512
513
514
515
516
# 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) ⇒ Object



537
538
539
540
541
542
# 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) ⇒ Object



455
456
457
# 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) ⇒ Object



459
460
461
# 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) ⇒ Object



463
464
465
# 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) ⇒ Object



451
452
453
# 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) ⇒ Object



439
440
441
442
443
444
445
446
447
448
449
# 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) ⇒ Object



499
500
501
# 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) ⇒ Object



526
527
528
529
530
531
# 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) ⇒ Object



491
492
493
# 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) ⇒ Object



495
496
497
# 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) ⇒ Object



487
488
489
# File 'lib/groonga_client_model/migration.rb', line 487

def time(column_name, **options)
  @migration.add_column(@table_name, column_name, :time, **options)
end

#timestampsObject



533
534
535
# File 'lib/groonga_client_model/migration.rb', line 533

def timestamps
  @migration.add_timestamp_columns(@table_name)
end

#tokyo_geo_point(column_name, **options) ⇒ Object



522
523
524
# 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) ⇒ Object



471
472
473
# 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) ⇒ Object



475
476
477
# 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) ⇒ Object



479
480
481
# 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) ⇒ Object



467
468
469
# 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) ⇒ Object



518
519
520
# 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