Skip to content

Latest commit

 

History

History
111 lines (79 loc) · 2.34 KB

README.md

File metadata and controls

111 lines (79 loc) · 2.34 KB

QuantumStorageEcto

Coverage Status Hex.pm Version Hex docs Hex.pm

Quantum Storage Adapter based on Ecto

Installation

The package can be installed by adding quantum_storage_ecto to your list of dependencies in mix.exs:

def deps do
  [
    {:quantum_storage_ecto, "~> 0.2"}
  ]
end

Upgrading from 0.1

Create a mew migration file with the following content:

defmodule MyApp.Repo.Migrations.AddIdToQuantumJobs do
  use Ecto.Migration

  def up do
    QuantumStorageEcto.Migrations.V2AddIdToJob.up()
  end

  def down do
    QuantumStorageEcto.Migrations.V2AddIdToJob.down()
  end
end

How to Use?

Simply add QuantumStorageEcto in Quantum config and run the required migrations.

The Repo (Ecto.Repo) parameter is required and is used to communicate with the database

config :my_app, MyApp.Scheduler,
  storage: QuantumStorageEcto,
  storage_opts: [
    repo: MyApp.Repo,
  ]

Upgrading from 0.1

Create a mew migration file with the following content:

defmodule MyApp.Repo.Migrations.AddIdToQuantumJobs do
  use Ecto.Migration

  def up do
    QuantumStorageEcto.Migrations.V2AddIdToJob.up()
  end

  def down do
    QuantumStorageEcto.Migrations.V2AddIdToJob.down()
  end
end

Running the migrations

Create a new migration file in your application

mix ecto.gen.migration adding_quantum_storage_ecto

Edit the newly created migration file

defmodule MyApp.Repo.Migrations.AddQuantumJobs do
  use Ecto.Migration

  def up do
    QuantumStorageEcto.Migrations.V1AddJobsTable.up()
    QuantumStorageEcto.Migrations.V2AddIdToJob.up()
  end

  def down do
    QuantumStorageEcto.Migrations.V1AddJobsTable.down()
    QuantumStorageEcto.Migrations.V2AddIdToJob.down()
  end
end

Migrate

mix ecto.migrate

Testing

To run the full test suite:

mix test