Class: GroongaClientModel::Migration::CreateTableMigration
- Inherits:
-
Object
- Object
- GroongaClientModel::Migration::CreateTableMigration
- Defined in:
- lib/groonga_client_model/migration.rb
Instance Method Summary collapse
- #boolean(column_name, options = {}) ⇒ Object (also: #bool)
- #float(column_name, options = {}) ⇒ Object
- #geo_point(column_name, options = {}) ⇒ Object
- #index(source_table_name, source_column_names, options = {}) ⇒ Object
-
#initialize(migration, table_name) ⇒ CreateTableMigration
constructor
A new instance of CreateTableMigration.
- #integer(column_name, options = {}) ⇒ Object
- #long_text(column_name, options = {}) ⇒ Object
- #reference(column_name, reference_table_name, options = {}) ⇒ Object
- #short_text(column_name, options = {}) ⇒ Object
- #text(column_name, options = {}) ⇒ Object
- #time(column_name, options = {}) ⇒ Object
- #timestamps ⇒ Object
- #tokyo_geo_point(column_name, options = {}) ⇒ Object
- #wgs84_geo_point(column_name, options = {}) ⇒ Object
Constructor Details
#initialize(migration, table_name) ⇒ CreateTableMigration
Returns a new instance of CreateTableMigration.
418 419 420 421 |
# File 'lib/groonga_client_model/migration.rb', line 418 def initialize(migration, table_name) @migration = migration @table_name = table_name end |
Instance Method Details
#boolean(column_name, options = {}) ⇒ Object Also known as: bool
423 424 425 |
# File 'lib/groonga_client_model/migration.rb', line 423 def boolean(column_name, ={}) @migration.add_column(@table_name, column_name, :bool, ) end |
#float(column_name, options = {}) ⇒ Object
440 441 442 |
# File 'lib/groonga_client_model/migration.rb', line 440 def float(column_name, ={}) @migration.add_column(@table_name, column_name, :float, ) end |
#geo_point(column_name, options = {}) ⇒ Object
460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 |
# File 'lib/groonga_client_model/migration.rb', line 460 def geo_point(column_name, ={}) = .dup datum = .delete(:datum) || :wgs84 case datum when :wgs84 type = "WGS84GeoPoint" when :tokyo type = "TokyoGeoPoint" else = "invalid geodetic datum: " << "available: [:wgs84, :tokyo]: #{datum.inspect}" raise ArgumentError, end @migration.add_column(@table_name, column_name, type, ) end |
#index(source_table_name, source_column_names, options = {}) ⇒ Object
495 496 497 498 499 500 501 502 503 504 505 |
# File 'lib/groonga_client_model/migration.rb', line 495 def index(source_table_name, source_column_names, ={}) = .dup source_column_names = Array(source_column_names) column_name = .delete(:name) column_name ||= [source_table_name, *source_column_names].join("_") @migration.add_column(@table_name, column_name, source_table_name, .merge(:type => :index, :sources => source_column_names)) end |
#integer(column_name, options = {}) ⇒ Object
428 429 430 431 432 433 434 435 436 437 438 |
# File 'lib/groonga_client_model/migration.rb', line 428 def integer(column_name, ={}) = .dup bit = .delete(:bit) || 32 unsigned = .delete(:unsigned) if unsigned type = "uint#{bit}" else type = "int#{bit}" end @migration.add_column(@table_name, column_name, type, ) end |
#long_text(column_name, options = {}) ⇒ Object
456 457 458 |
# File 'lib/groonga_client_model/migration.rb', line 456 def long_text(column_name, ={}) @migration.add_column(@table_name, column_name, :long_text, ) end |
#reference(column_name, reference_table_name, options = {}) ⇒ Object
484 485 486 487 488 489 |
# File 'lib/groonga_client_model/migration.rb', line 484 def reference(column_name, reference_table_name, ={}) @migration.add_column(@table_name, column_name, reference_table_name, ) end |
#short_text(column_name, options = {}) ⇒ Object
448 449 450 |
# File 'lib/groonga_client_model/migration.rb', line 448 def short_text(column_name, ={}) @migration.add_column(@table_name, column_name, :short_text, ) end |
#text(column_name, options = {}) ⇒ Object
452 453 454 |
# File 'lib/groonga_client_model/migration.rb', line 452 def text(column_name, ={}) @migration.add_column(@table_name, column_name, :text, ) end |
#time(column_name, options = {}) ⇒ Object
444 445 446 |
# File 'lib/groonga_client_model/migration.rb', line 444 def time(column_name, ={}) @migration.add_column(@table_name, column_name, :time, ) end |
#timestamps ⇒ Object
491 492 493 |
# File 'lib/groonga_client_model/migration.rb', line 491 def @migration.(@table_name) end |
#tokyo_geo_point(column_name, options = {}) ⇒ Object
480 481 482 |
# File 'lib/groonga_client_model/migration.rb', line 480 def tokyo_geo_point(column_name, ={}) geo_point(column_name, .merge(datum: :tokyo)) end |
#wgs84_geo_point(column_name, options = {}) ⇒ Object
476 477 478 |
# File 'lib/groonga_client_model/migration.rb', line 476 def wgs84_geo_point(column_name, ={}) geo_point(column_name, .merge(datum: :wgs84)) end |