# Localize SQL v1.0.0 - Table of Contents

> SQL database support for Localize: locale-aware ICU collation for Ecto queries on PostgreSQL and SQLite, tagged-decimal composite types with database-side sum, avg, min and max aggregates and arithmetic operators, unit serialization, and range types.

## Pages

- [Localize SQL](readme.md)
- [Changelog](changelog.md)
- [License](license.md)

- Guides
  - [Using Localize SQL](using_localize_sql.md)
  - [Collations in PostgreSQL](collations_in_postgres.md)
  - [Collations in SQLite](collations_in_sqlite.md)

## Modules

- [Localize.Currency.Ecto.Type](Localize.Currency.Ecto.Type.md): An `Ecto.Type` storing a currency as its ISO 4217 code in a text column.
- [Localize.Duration.Ecto.Type](Localize.Duration.Ecto.Type.md): An `Ecto.Type` storing a `t:Localize.Duration.t/0` in a PostgreSQL
`interval` column.
- [Localize.Ecto](Localize.Ecto.md): Locale-aware query expressions for Ecto.
- [Localize.Ecto.Audit](Localize.Ecto.Audit.md): Audits the PostgreSQL server's collation and Unicode state against the running application.
- [Localize.Ecto.Collation](Localize.Ecto.Collation.md): Resolves a locale to the name of a PostgreSQL ICU collation.
- [Localize.Ecto.Migration](Localize.Ecto.Migration.md): Migration helpers for creating PostgreSQL ICU collations.
- [Localize.Ecto.Migration.Generator](Localize.Ecto.Migration.Generator.md): Writes a migration file into a repository, for the migration-generating
mix tasks of `localize_sql`.
- [Localize.Ecto.Postgres](Localize.Ecto.Postgres.md): Locale-aware query expressions for Ecto on PostgreSQL.
- [Localize.Ecto.Range](Localize.Ecto.Range.md): Query expressions for PostgreSQL range types.
- [Localize.Ecto.Range.Migration](Localize.Ecto.Range.Migration.md): Migration helpers for PostgreSQL range types.
- [Localize.Ecto.SQLite3](Localize.Ecto.SQLite3.md): Locale-aware query expressions for Ecto on SQLite.
- [Localize.Ecto.SQLite3.Extension](Localize.Ecto.SQLite3.Extension.md): Locates the `localize_icu` SQLite extension for loading into a connection.
- [Localize.Ecto.TaggedDecimal](Localize.Ecto.TaggedDecimal.md): Describes a *tagged decimal* — a value that pairs a tag with a decimal
amount — for serialization to a SQL database.
- [Localize.Ecto.TaggedDecimal.DDL](Localize.Ecto.TaggedDecimal.DDL.md): Generates the SQL that installs a tagged decimal type in PostgreSQL.
- [Localize.Ecto.TextSearch](Localize.Ecto.TextSearch.md): Resolves a locale to the best matching PostgreSQL text search configuration.
- [Localize.Ecto.Type.DateRange](Localize.Ecto.Type.DateRange.md): An `Ecto.Type` storing an Elixir `t:Date.Range.t/0` in a PostgreSQL
`daterange` column.
- [Localize.Ecto.Type.Duration](Localize.Ecto.Type.Duration.md): An `Ecto.Type` storing an Elixir `t:Duration.t/0` in a PostgreSQL
`interval` column.
- [Localize.Ecto.Type.IntegerRange](Localize.Ecto.Type.IntegerRange.md): An `Ecto.Type` storing an Elixir integer `t:Range.t/0` in a PostgreSQL
`int8range` column.
- [Localize.Ecto.Type.TimeZone](Localize.Ecto.Type.TimeZone.md): An `Ecto.Type` for IANA time zone identifiers, validated against the CLDR zone inventory.
- [Localize.LanguageTag.Ecto.Type](Localize.LanguageTag.Ecto.Type.md): An `Ecto.Type` storing a locale as its BCP 47 string in a text column.
- [Localize.Script.Ecto.Type](Localize.Script.Ecto.Type.md): An `Ecto.Type` storing a script as its code in a text column.
- [Localize.Territory.Ecto.Type](Localize.Territory.Ecto.Type.md): An `Ecto.Type` storing a territory as its code in a text column.
- [Localize.Unit.DDL](Localize.Unit.DDL.md): Generates the SQL that stores `t:Localize.Unit.t/0` values in PostgreSQL.
- [Localize.Unit.Ecto.Composite.Type](Localize.Unit.Ecto.Composite.Type.md): Implements the `Ecto.Type` behaviour for a user-defined Postgres composite
type called `:cldr_unit`.
- [Localize.Unit.Ecto.Map.Type](Localize.Unit.Ecto.Map.Type.md): Implements the `Ecto.Type` behaviour for `Localize.Unit`, where the
underlying schema type is a map.
- [Localize.UnitWithUsage.Ecto.Composite.Type](Localize.UnitWithUsage.Ecto.Composite.Type.md): Implements the `Ecto.Type` behaviour for a user-defined Postgres composite
type called `:cldr_unit_with_usage`.
- [Localize.UnitWithUsage.Ecto.Map.Type](Localize.UnitWithUsage.Ecto.Map.Type.md): Implements the `Ecto.Type` behaviour for `Localize.Unit`, where the
underlying schema type is a map.

## Mix Tasks

- [mix localize.ecto.audit](Mix.Tasks.Localize.Ecto.Audit.md): Audits the PostgreSQL server's collation and Unicode state against the running application.
- [mix localize.unit.gen.migration](Mix.Tasks.Localize.Unit.Gen.Migration.md): Generates an Ecto migration that installs the unit composite types and
their aggregate functions into a PostgreSQL database.

