Class: Convergence::Diff
- Inherits:
-
Object
- Object
- Convergence::Diff
- Defined in:
- lib/convergence/diff.rb
Instance Method Summary collapse
Instance Method Details
#diff(from_database, to_database) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/convergence/diff.rb', line 4 def diff(from_database, to_database) delta = {} from_database = {} if from_database.nil? delta[:add_table] = scan_add_table(from_database, to_database) delta[:remove_table] = scan_remove_table(from_database, to_database) delta[:change_table] = scan_change_table(from_database, to_database) delta end |
#diff_table(from_table, to_table) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/convergence/diff.rb', line 13 def diff_table(from_table, to_table) from = from_table.dup to = to_table.dup delta = {} delta[:add_column] = scan_add_column(from, to) delta[:remove_column] = scan_remove_column(from, to) delta[:change_column] = scan_change_column(from, to) scan_change_order_column(from, to, delta) delta[:remove_index] = scan_change_index(to, from) delta[:add_index] = scan_change_index(from, to) delta[:remove_foreign_key] = scan_change_foreign_key(to, from) delta[:add_foreign_key] = scan_change_foreign_key(from, to) delta[:change_table_option] = scan_change_table_option(from, to) delta end |