# `Grizzly.ZIPGateway.DatabaseChecker`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.2/lib/grizzly/zipgateway/database_checker.ex#L1)

Does some sanity checking on the Z/IP Gateway SQLite database during its init,
then exits normally.

Most importantly, it looks for nodes (other than 1) that have no records in the
endpoints table. This can happen due to a rare bug that's difficult to reproduce,
but the result is that Z/IP Gateway goes into an infinite loop at startup and
never recovers. If it finds any such nodes, it will delete them and let Z/IP Gateway
re-interview them. This unfortunately results in the loss of the DSK, if stored,
but that's better than having things not work at all.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

---

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