Class: Cequel::Schema::TableDiffer
- Inherits:
-
Object
- Object
- Cequel::Schema::TableDiffer
- Defined in:
- lib/cequel/schema/table_differ.rb
Overview
Utility object that calculates a Patch to transform one Table into another.
Currently this support adding columns, adding and removing indexes, and setting properties on the table. Any other changes are prohibited due to CQL limitation or data integrity concerns. A InvalidSchemaMigration will be raised if unsupported changes are detected.
Instance Method Summary collapse
-
#call ⇒ Object
Returns a Patch that will transform table_a in to table_b.
Instance Method Details
#call ⇒ Object
Returns a Patch that will transform table_a in to table_b.
21 22 23 24 25 26 27 28 29 |
# File 'lib/cequel/schema/table_differ.rb', line 21 def call (fail InvalidSchemaMigration, "Table renames are not supported") if table_a.name != table_b.name (fail InvalidSchemaMigration, "Changes to key structure is not allowed") if keys_changed? (fail InvalidSchemaMigration, "Type changes are not allowed") if any_types_changed? Patch.new(figure_changes) end |