Module: PgSaurus::SchemaDumper::TriggerMethods
- Included in:
- PgSaurus::SchemaDumper
- Defined in:
- lib/pg_saurus/schema_dumper/trigger_methods.rb
Overview
Support for dumping database triggers.
Instance Method Summary collapse
-
#dump_triggers(stream) ⇒ Object
Write out a command to create each detected trigger.
-
#tables(stream) ⇒ Object
:nodoc.
Instance Method Details
#dump_triggers(stream) ⇒ Object
Write out a command to create each detected trigger.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/pg_saurus/schema_dumper/trigger_methods.rb', line 15 def dump_triggers(stream) @connection.triggers.each do |trigger| statement = " create_trigger '#{trigger.table}', '#{trigger.proc_name}', '#{trigger.event}', " \ "name: '#{trigger.name}', " \ "constraint: #{trigger.constraint ? :true : :false}, " \ "for_each: :#{trigger.for_each}, " \ "deferrable: #{trigger.deferrable ? :true : :false}, " \ "initially_deferred: #{trigger.initially_deferred ? :true : :false}, " \ "schema: '#{trigger.schema}'" if trigger.condition statement << %Q{, condition: '#{trigger.condition.gsub("'", %q(\\\'))}'} end stream.puts "#{statement}\n" end end |
#tables(stream) ⇒ Object
:nodoc
5 6 7 8 9 10 11 12 |
# File 'lib/pg_saurus/schema_dumper/trigger_methods.rb', line 5 def tables(stream) super(stream) dump_triggers(stream) stream.puts stream end |