56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/pg_sql_triggers/engine.rb', line 56
def self.install_schema_load_trigger_hook
return if @schema_load_trigger_hook_installed
return unless PgSqlTriggers.migrate_triggers_after_schema_load
return if ENV["SKIP_TRIGGER_MIGRATE_AFTER_SCHEMA_LOAD"].present?
return unless defined?(Rake::Task)
if defined?(Rails.application) && Rails.application.respond_to?(:load_tasks)
Rails.application.load_tasks
end
return unless Rake::Task.task_defined?("db:schema:load")
@schema_load_trigger_hook_installed = true
Rake::Task["db:schema:load"].enhance do
next unless PgSqlTriggers.migrate_triggers_after_schema_load
next if ENV["SKIP_TRIGGER_MIGRATE_AFTER_SCHEMA_LOAD"].present?
Rake::Task["trigger:migrate"].invoke
end
end
|