Sha256: 80256be77a01c6f5bb6f17c9a1128d90768ee986704917d8e072f1e3b8b4e03d

Contents?: true

Size: 889 Bytes

Versions: 1

Compression:

Stored size: 889 Bytes

Contents

class CreateTableJobs < ActiveRecord::Migration[4.2]
  def change
    create_table :jobs, force: true do |t|
      t.string :state, null: false, default: 'waiting'
      t.string :queue, null: true
      t.text :handler, null: false, limit: 4_294_967_295

      t.string :locked_by
      t.datetime :locked_at

      t.datetime :started_at

      t.datetime :succeeded_at
      t.datetime :failed_at
      t.text :last_error, limit: 4_294_967_295

      t.integer :priority, null: false
      t.datetime :perform_at, null: true

      t.timestamps null: false
    end

    if oracle?
      add_index :jobs, :queue
      add_index :jobs, :state
    else
      add_index :jobs, :queue, length: 191
      add_index :jobs, :state, length: 191
    end
    add_index :jobs, :perform_at
  end

  private

  def oracle?
    ActiveRecord::Base.connection.adapter_name == 'OracleEnhanced'
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
workhorse-0.3.0 lib/generators/workhorse/templates/create_table_jobs.rb