# bylaw_postgres v0.1.0-alpha.1 - Table of Contents

Postgres database validation adapter and checks for Bylaw.

## Pages

- [Bylaw.Postgres](readme.md)

## Modules

- Postgres adapter
  - [Bylaw.Db.Adapters.Postgres](Bylaw.Db.Adapters.Postgres.md): Postgres database adapter entrypoint.

- Postgres checks
  - [Bylaw.Db.Adapters.Postgres.Checks.DuplicateIndexes](Bylaw.Db.Adapters.Postgres.Checks.DuplicateIndexes.md): Flags equivalent Postgres indexes on the same table.
  - [Bylaw.Db.Adapters.Postgres.Checks.EctoChangesetCheckConstraints](Bylaw.Db.Adapters.Postgres.Checks.EctoChangesetCheckConstraints.md): Validates `Ecto.Changeset.check_constraint/3` annotations for Postgres checks.
  - [Bylaw.Db.Adapters.Postgres.Checks.EctoChangesetForeignKeyConstraints](Bylaw.Db.Adapters.Postgres.Checks.EctoChangesetForeignKeyConstraints.md): Validates `Ecto.Changeset.foreign_key_constraint/3` annotations for Postgres FKs.
  - [Bylaw.Db.Adapters.Postgres.Checks.EctoChangesetUniqueConstraints](Bylaw.Db.Adapters.Postgres.Checks.EctoChangesetUniqueConstraints.md): Validates `Ecto.Changeset.unique_constraint/3` annotations for Postgres indexes.
  - [Bylaw.Db.Adapters.Postgres.Checks.ForbiddenColumnTypes](Bylaw.Db.Adapters.Postgres.Checks.ForbiddenColumnTypes.md): Validates that Postgres columns do not use configured forbidden types.
  - [Bylaw.Db.Adapters.Postgres.Checks.ForeignKeyActions](Bylaw.Db.Adapters.Postgres.Checks.ForeignKeyActions.md): Validates Postgres foreign key `ON DELETE` and `ON UPDATE` actions.
  - [Bylaw.Db.Adapters.Postgres.Checks.ForeignKeyNullability](Bylaw.Db.Adapters.Postgres.Checks.ForeignKeyNullability.md): Validates that Postgres foreign key columns are not nullable.
  - [Bylaw.Db.Adapters.Postgres.Checks.MissingForeignKeyConstraints](Bylaw.Db.Adapters.Postgres.Checks.MissingForeignKeyConstraints.md): Flags Postgres columns that look like foreign keys but have no constraint.
  - [Bylaw.Db.Adapters.Postgres.Checks.MissingForeignKeyIndexes](Bylaw.Db.Adapters.Postgres.Checks.MissingForeignKeyIndexes.md): Validates that Postgres foreign keys have supporting indexes.
  - [Bylaw.Db.Adapters.Postgres.Checks.PrimaryKeyType](Bylaw.Db.Adapters.Postgres.Checks.PrimaryKeyType.md): Validates that Postgres primary key columns use configured data types.
  - [Bylaw.Db.Adapters.Postgres.Checks.RequiredColumns](Bylaw.Db.Adapters.Postgres.Checks.RequiredColumns.md): Validates that Postgres tables include required columns.
  - [Bylaw.Db.Adapters.Postgres.Checks.ScopedForeignKeys](Bylaw.Db.Adapters.Postgres.Checks.ScopedForeignKeys.md): Validates that scoped Postgres foreign keys include configured scope columns.

- Ecto helpers
  - [Bylaw.Ecto.Changeset](Bylaw.Ecto.Changeset.md): Extracts conservative changeset candidates from Ecto schema source files.
  - [Bylaw.Ecto.Changeset.Candidate](Bylaw.Ecto.Changeset.Candidate.md): A changeset-producing function found in a schema module.

  - [Bylaw.Ecto.Changeset.ConstraintCall](Bylaw.Ecto.Changeset.ConstraintCall.md): A direct Ecto changeset constraint helper call.

  - [Bylaw.Ecto.Schema](Bylaw.Ecto.Schema.md): Reflection helpers for compiled Ecto schema modules.

