Class: SchemaFerry::Core::TableConverter
- Inherits:
-
Object
- Object
- SchemaFerry::Core::TableConverter
- Includes:
- IdentifierShortenable, Support::Warnings
- Defined in:
- lib/schema_ferry/core/table_converter.rb
Constant Summary collapse
- UNSUPPORTED_INDEX_TYPES =
%i[fulltext spatial].freeze
- SPATIAL_SQL_TYPES =
/\A(?:geometry|point|linestring|polygon|multipoint|multilinestring|multipolygon| geometrycollection)\z/ix
Constants included from IdentifierShortenable
IdentifierShortenable::HASH_LENGTH, IdentifierShortenable::MAX_BYTES
Instance Method Summary collapse
- #convert ⇒ Object
-
#initialize(raw, rule:, foreign_keys:, fk_columns:, column_converter:, enum_check:) ⇒ TableConverter
constructor
A new instance of TableConverter.
Methods included from IdentifierShortenable
Constructor Details
#initialize(raw, rule:, foreign_keys:, fk_columns:, column_converter:, enum_check:) ⇒ TableConverter
Returns a new instance of TableConverter.
13 14 15 16 17 18 19 20 21 |
# File 'lib/schema_ferry/core/table_converter.rb', line 13 def initialize(raw, rule:, foreign_keys:, fk_columns:, column_converter:, enum_check:) @raw = raw @name = raw[:name] @rule = rule @foreign_keys = foreign_keys @fk_columns = fk_columns @column_converter = column_converter @enum_check = enum_check end |
Instance Method Details
#convert ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/schema_ferry/core/table_converter.rb', line 23 def convert check_table_name_length! TableSchema.new( name: @name, primary_key: @raw[:primary_key], pk_type: convert_pk_type, pk_limit: convert_pk_limit, comment: @raw[:comment].presence, columns: convert_columns, indexes: convert_indexes, foreign_keys: convert_foreign_keys, check_constraints: build_check_constraints ) end |