Class: CreateDelayedJobGroups
- Inherits:
-
ActiveRecord::Migration
- Object
- ActiveRecord::Migration
- CreateDelayedJobGroups
- Defined in:
- lib/generators/delayed_job_groups_plugin/templates/migration.rb
Instance Method Summary collapse
Instance Method Details
#down ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/generators/delayed_job_groups_plugin/templates/migration.rb', line 30 def down remove_columns(:delayed_jobs, :blocked, :job_group_id) if partial_indexes_supported? execute " CREATE INDEX delayed_jobs_priority\n ON delayed_jobs(priority, run_at)\n WHERE failed_at IS NULL\n SQL\n end\n\n drop_table(:delayed_job_groups)\nend\n" |
#partial_indexes_supported? ⇒ Boolean
44 45 46 |
# File 'lib/generators/delayed_job_groups_plugin/templates/migration.rb', line 44 def partial_indexes_supported? connection.adapter_name == 'PostgreSQL' end |
#up ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/generators/delayed_job_groups_plugin/templates/migration.rb', line 5 def up add_column(:delayed_jobs, :blocked, :boolean, default: false, null: false) add_column(:delayed_jobs, :job_group_id, :integer) add_index(:delayed_jobs, :job_group_id) if partial_indexes_supported? remove_index(:delayed_jobs, name: :delayed_jobs_priority) execute " CREATE INDEX delayed_jobs_priority\n ON delayed_jobs(priority, run_at)\n WHERE failed_at IS NULL AND blocked = FALSE\n SQL\n end\n\n create_table(:delayed_job_groups) do |t|\n t.text :on_completion_job\n t.text :on_completion_job_options\n t.text :on_cancellation_job\n t.text :on_cancellation_job_options\n t.boolean :failure_cancels_group, default: true, null: false\n t.boolean :queueing_complete, default: false, null: false\n t.boolean :blocked, default: false, null: false\n end\nend\n" |