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.
403 404 405 406 |
# File 'lib/groonga_client_model/migration.rb', line 403 def initialize(migration, table_name) @migration = migration @table_name = table_name end |
Instance Method Details
#boolean(column_name, options = {}) ⇒ Object Also known as: bool
408 409 410 |
# File 'lib/groonga_client_model/migration.rb', line 408 def boolean(column_name, ={}) @migration.add_column(@table_name, column_name, :bool, ) end |
#float(column_name, options = {}) ⇒ Object
425 426 427 |
# File 'lib/groonga_client_model/migration.rb', line 425 def float(column_name, ={}) @migration.add_column(@table_name, column_name, :float, ) end |
#geo_point(column_name, options = {}) ⇒ Object
445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 |
# File 'lib/groonga_client_model/migration.rb', line 445 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
480 481 482 483 484 485 486 487 488 489 490 |
# File 'lib/groonga_client_model/migration.rb', line 480 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
413 414 415 416 417 418 419 420 421 422 423 |
# File 'lib/groonga_client_model/migration.rb', line 413 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
441 442 443 |
# File 'lib/groonga_client_model/migration.rb', line 441 def long_text(column_name, ={}) @migration.add_column(@table_name, column_name, :long_text, ) end |
#reference(column_name, reference_table_name, options = {}) ⇒ Object
469 470 471 472 473 474 |
# File 'lib/groonga_client_model/migration.rb', line 469 def reference(column_name, reference_table_name, ={}) @migration.add_column(@table_name, column_name, reference_table_name, ) end |
#short_text(column_name, options = {}) ⇒ Object
433 434 435 |
# File 'lib/groonga_client_model/migration.rb', line 433 def short_text(column_name, ={}) @migration.add_column(@table_name, column_name, :short_text, ) end |
#text(column_name, options = {}) ⇒ Object
437 438 439 |
# File 'lib/groonga_client_model/migration.rb', line 437 def text(column_name, ={}) @migration.add_column(@table_name, column_name, :text, ) end |
#time(column_name, options = {}) ⇒ Object
429 430 431 |
# File 'lib/groonga_client_model/migration.rb', line 429 def time(column_name, ={}) @migration.add_column(@table_name, column_name, :time, ) end |
#timestamps ⇒ Object
476 477 478 |
# File 'lib/groonga_client_model/migration.rb', line 476 def @migration.(@table_name) end |
#tokyo_geo_point(column_name, options = {}) ⇒ Object
465 466 467 |
# File 'lib/groonga_client_model/migration.rb', line 465 def tokyo_geo_point(column_name, ={}) geo_point(column_name, .merge(datum: :tokyo)) end |
#wgs84_geo_point(column_name, options = {}) ⇒ Object
461 462 463 |
# File 'lib/groonga_client_model/migration.rb', line 461 def wgs84_geo_point(column_name, ={}) geo_point(column_name, .merge(datum: :wgs84)) end |