Packages
oban
2.17.7
2.23.0
2.22.1
2.22.0
2.21.1
2.21.0
2.20.3
2.20.2
2.20.1
2.20.0
2.19.4
2.19.3
2.19.2
2.19.1
2.19.0
2.18.3
2.18.2
2.18.1
2.18.0
2.17.12
2.17.11
2.17.10
2.17.9
2.17.8
2.17.7
2.17.6
2.17.5
2.17.4
2.17.3
2.17.2
2.17.1
2.17.0
2.16.3
2.16.2
2.16.1
2.16.0
2.15.4
2.15.3
2.15.2
2.15.1
2.15.0
2.14.2
2.14.1
2.14.0
2.13.6
2.13.5
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.1
2.12.0
2.11.3
2.11.2
2.11.1
2.11.0
2.10.1
2.10.0
retired
2.9.2
2.9.1
2.9.0
2.8.0
2.7.2
2.7.1
2.7.0
2.6.1
2.6.0
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.0
2.1.0
2.0.0
2.0.0-rc.3
2.0.0-rc.2
2.0.0-rc.1
2.0.0-rc.0
1.2.0
1.1.0
1.0.0
1.0.0-rc.2
1.0.0-rc.1
0.12.1
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
Robust job processing, backed by modern PostgreSQL, SQLite3, and MySQL.
Current section
Files
Jump to
Current section
Files
lib/oban/migrations/postgres/v10.ex
defmodule Oban.Migrations.Postgres.V10 do
@moduledoc false
use Ecto.Migration
def up(%{prefix: prefix}) do
# These didn't have defaults out of consideration for older PG versions
alter table(:oban_jobs, prefix: prefix) do
modify :args, :map, default: %{}
modify :priority, :integer, null: false
end
# These could happen from an insert_all call with invalid data
create constraint(:oban_jobs, :priority_range,
check: "priority between 0 and 3",
prefix: prefix
)
create constraint(:oban_jobs, :positive_max_attempts,
check: "max_attempts > 0",
prefix: prefix
)
create constraint(:oban_jobs, :attempt_range,
check: "attempt between 0 and max_attempts",
prefix: prefix
)
# These are unused or unnecessary
drop_if_exists index(:oban_jobs, [:args], name: :oban_jobs_args_vector, prefix: prefix)
drop_if_exists index(:oban_jobs, [:worker], name: :oban_jobs_worker_gist, prefix: prefix)
drop_if_exists index(:oban_jobs, [:attempted_at],
name: :oban_jobs_attempted_at_id_index,
prefix: prefix
)
# These are necessary to keep unique checks fast in large tables
create_if_not_exists index(:oban_jobs, [:args], using: :gin, prefix: prefix)
create_if_not_exists index(:oban_jobs, [:meta], using: :gin, prefix: prefix)
end
def down(%{prefix: prefix}) do
alter table(:oban_jobs, prefix: prefix) do
modify :args, :map, default: nil
modify :priority, :integer, null: true
end
drop_if_exists constraint(:oban_jobs, :attempt_range, prefix: prefix)
drop_if_exists constraint(:oban_jobs, :positive_max_attempts, prefix: prefix)
drop_if_exists constraint(:oban_jobs, :priority_range, prefix: prefix)
end
end