View Source Electric.Phoenix (Electric Phoenix v0.2.0-rc-3)
Wrappers to ease integration of Electric’s Postgres syncing service with Phoenix applications.
There are currently 2 integration modes: Phoenix.LiveView
streams and configuration
gateway.
Phoenix.LiveView Streams
Electric.Phoenix.LiveView.electric_stream/4 integrates with
Phoenix.LiveView.stream/4
and provides a live updating collection of items.
Configuration Gateway
Using Electric.Phoenix.Plug you can create endpoints that
return configuration information for your Electric Typescript clients. See
that module's documentation for
more information.
Installation
Add electric_phoenix to your application dependencies:
def deps do
[
{:electric_phoenix, "~> 0.1"}
]
endConfiguration
In your config/config.exs or config/runtime.exs you must configure the
client for the Electric streaming API:
import Config
config :electric_phoenix, Electric.Client,
# one of `base_url` or `endpoint` is required
base_url: System.get_env("ELECTRIC_URL", "http://localhost:3000"),
# endpoint: System.get_env("ELECTRIC_ENDPOINT", "http://localhost:3000/v1/shape"),
# optional
database_id: System.get_env("ELECTRIC_DATABASE_ID", nil)See the documentation for Electric.Client.new/1
for information on the client configuration.
Summary
Functions
Create a new Electric.Client instance based on the application config.
Types
@type shape_definition() :: Ecto.Queryable.t() | Client.ShapeDefinition.t()
Functions
Create a new Electric.Client instance based on the application config.
See Electric.Client.new/1 for the available
options.