# Ecto SQL v3.14.0 - Table of Contents

> SQL-based adapters for Ecto and database migrations

## Pages

- [Changelog for v3.x](changelog.md)

- Migration Guides
  - [Anatomy of a Migration](migration_anatomy.md)
  - [Safe Ecto Migrations](safe_migrations.md)
  - [Squashing Migrations](squashing_migrations.md)
  - [Backfilling Data](backfilling_data.md)

## Modules

- [Ecto.Adapters.SQL](Ecto.Adapters.SQL.md): This application provides functionality for working with
SQL databases in `Ecto`.
- [Ecto.Adapters.SQL.Sandbox](Ecto.Adapters.SQL.Sandbox.md): A pool for concurrent transactional tests.
- [Ecto.Migration](Ecto.Migration.md): Migrations are used to modify your database schema over time.
- [Ecto.Migrator](Ecto.Migrator.md): Lower level API for managing migrations.

- Built-in adapters
  - [Ecto.Adapters.MyXQL](Ecto.Adapters.MyXQL.md): Adapter module for MySQL.
  - [Ecto.Adapters.Postgres](Ecto.Adapters.Postgres.md): Adapter module for PostgreSQL.
  - [Ecto.Adapters.Tds](Ecto.Adapters.Tds.md): Adapter module for MSSQL Server using the TDS protocol.

- TDS Types
  - [Tds.Ecto.UUID](Tds.Ecto.UUID.md): A TDS adapter type for UUIDs strings.
  - [Tds.Ecto.VarChar](Tds.Ecto.VarChar.md): A Tds adapter Ecto Type that wraps erlang string into tuple so TDS driver
can understand if erlang string should be encoded as NVarChar or Varchar.

- Adapter specification
  - [Ecto.Adapter.Migration](Ecto.Adapter.Migration.md): Specifies the adapter migrations API.

  - [Ecto.Adapter.Structure](Ecto.Adapter.Structure.md): Specifies the adapter structure (dump/load) API.

  - [Ecto.Adapters.SQL.Connection](Ecto.Adapters.SQL.Connection.md): Specifies the behaviour to be implemented by all SQL connections.

  - [Ecto.Migration.Command](Ecto.Migration.Command.md): Used internally by adapters.
  - [Ecto.Migration.Constraint](Ecto.Migration.Constraint.md): Used internally by adapters.
  - [Ecto.Migration.Index](Ecto.Migration.Index.md): Used internally by adapters.
  - [Ecto.Migration.Reference](Ecto.Migration.Reference.md): Used internally by adapters.
  - [Ecto.Migration.Table](Ecto.Migration.Table.md): Used internally by adapters.

## Mix Tasks

- [mix ecto.dump](Mix.Tasks.Ecto.Dump.md): Dumps the current environment's database structure for the
given repository into a structure file.
- [mix ecto.gen.migration](Mix.Tasks.Ecto.Gen.Migration.md): Generates a migration.
- [mix ecto.load](Mix.Tasks.Ecto.Load.md): Loads the current environment's database structure for the
given repository from a previously dumped structure file.
- [mix ecto.migrate](Mix.Tasks.Ecto.Migrate.md): Runs the pending migrations for the given repository.
- [mix ecto.migrations](Mix.Tasks.Ecto.Migrations.md): Displays the up / down migration status for the given repository.
- [mix ecto.rollback](Mix.Tasks.Ecto.Rollback.md): Reverts applied migrations in the given repository.

