# `EctoFoundationDB.Sandbox`
[🔗](https://github.com/foundationdb-beam/ecto_foundationdb/blob/main/lib/ecto_foundationdb/sandbox.ex#L1)

A module for managing a sandbox FoundationDB cluster. This allows a developer to create
a space under which it should be safe to write tests.

When using this module, it creates a directory in the project root called `.erlfdb`. It
is safe to delete this directory when you no longer need it (e.g. after test execution)

See [Testing with EctoFoundationDB](testing.html) for more.

# `checkin`
[🔗](https://github.com/foundationdb-beam/ecto_foundationdb/blob/main/lib/ecto_foundationdb/sandbox.ex#L33)

```elixir
@spec checkin(Ecto.Repo.t(), EctoFoundationDB.Tenant.id()) :: :ok
```

# `checkout`
[🔗](https://github.com/foundationdb-beam/ecto_foundationdb/blob/main/lib/ecto_foundationdb/sandbox.ex#L28)

```elixir
@spec checkout(
  Ecto.Repo.t(),
  EctoFoundationDB.Tenant.id(),
  EctoFoundationDB.Options.t()
) ::
  EctoFoundationDB.Tenant.t()
```

# `open_db`
[🔗](https://github.com/foundationdb-beam/ecto_foundationdb/blob/main/lib/ecto_foundationdb/sandbox.ex#L17)

```elixir
@spec open_db(Ecto.Repo.t()) :: EctoFoundationDB.Database.t()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
