Module: PgMorph::Adapter
- Defined in:
- lib/pg_morph/adapter.rb
Instance Method Summary collapse
- #add_polymorphic_foreign_key(parent_table, child_table, options = {}) ⇒ Object
- #remove_polymorphic_foreign_key(parent_table, child_table, options = {}) ⇒ Object
Instance Method Details
#add_polymorphic_foreign_key(parent_table, child_table, options = {}) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/pg_morph/adapter.rb', line 5 def add_polymorphic_foreign_key(parent_table, child_table, = {}) raise_unless_postgres polymorphic = PgMorph::Polymorphic.new(parent_table, child_table, ) sql = polymorphic.rename_base_table_sql sql << polymorphic.create_base_table_view_sql sql << polymorphic.create_proxy_table_sql sql << polymorphic.create_before_insert_trigger_fun_sql sql << polymorphic.create_before_insert_trigger_sql execute(sql) end |
#remove_polymorphic_foreign_key(parent_table, child_table, options = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pg_morph/adapter.rb', line 19 def remove_polymorphic_foreign_key(parent_table, child_table, = {}) raise_unless_postgres polymorphic = PgMorph::Polymorphic.new(parent_table, child_table, ) sql = polymorphic.remove_before_insert_trigger_sql sql << polymorphic.remove_proxy_table sql << polymorphic.remove_base_table_view_sql sql << polymorphic.rename_base_table_back_sql execute(sql) end |