Skip to content

erleans/erleans_provider_ecto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ErleansProviderEcto

This library implements the Erleans provider behaviour with Ecto. A schema that represents a grain is provided and the module ErleansProviderEcto is the provider behaviour implementation.

Users must create the Ecto Repo for the grains themselves.

A migration is provided that can be used for a SQL database.

See the Erleans Elixir Example for an example of using this provider with Erleans.

Example Configuration

Configuring a Postgres Erleans provider named :postgres and setting it to the default provider:

config :erleans,
  providers: %{
    :postgres => %{
      :module => ErleansProviderEcto.Postgres,
      :args => [
        {:database, "testdb"},
        {:username, "test"},
        {:hostname, "localhost"}
      ]
    }
  },
  default_provider: :postgres

How It Works

ErleansProviderEcto uses Ecto's dynamic repo support so when booting Erleans can start up any configured providers the user configures, which may or may not use the same Repo module, and ensure they are connected before being used by any grains.

The dynamic repo is given the same name as the Erleans provider. So when the above configuration is used therepo will be named :postgres.

Running Tests

$ docker-compose up -d
$ mix deps.get
$ mix test

About

Erleans Persistent Provider through Elixir Ecto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages