View Source Ecto.Adapter.Structure behaviour (Ecto SQL v3.9.0)
Specifies the adapter structure (dump/load) API.
Link to this section Summary
Callbacks
Runs the dump command for the given repo / config.
Dumps the given structure.
Loads the given structure.
Link to this section Callbacks
@callback dump_cmd(args :: [String.t()], opts :: Keyword.t(), config :: Keyword.t()) :: {output :: Collectable.t(), exit_status :: non_neg_integer()}
Runs the dump command for the given repo / config.
Calling this function will setup authentication and run the dump cli
command with your provided args
.
The options in opts
are passed directly to System.cmd/3
.
Returns {output, exit_status}
where output
is a string of the stdout
(as long as no option into
is provided, see System.cmd/3
) and exit_status
is the exit status of the invoation. (0
for success)
examples
Examples
iex> dump_cmd(["--data-only", "--table", "table_name"], [stdout_to_stderr: true], Acme.Repo.config())
"--
postgresql-database-dump
-- PostgreSQL database dump
" <> _rest
@callback structure_dump(default :: String.t(), config :: Keyword.t()) :: {:ok, String.t()} | {:error, term()}
Dumps the given structure.
The path will be looked in the config
under :dump_path or
default to the structure path inside default
.
Returns :ok
if it was dumped successfully, an error tuple otherwise.
examples
Examples
structure_dump("priv/repo", username: "postgres",
database: "ecto_test",
hostname: "localhost")
@callback structure_load(default :: String.t(), config :: Keyword.t()) :: {:ok, String.t()} | {:error, term()}
Loads the given structure.
The path will be looked in the config
under :dump_path or
default to the structure path inside default
.
Returns :ok
if it was loaded successfully, an error tuple otherwise.
examples
Examples
structure_load("priv/repo", username: "postgres",
database: "ecto_test",
hostname: "localhost")