# Money SQL v2.0.0 - Table of Contents

Money functions for the serialization a money data type.

## Pages

- [Introduction to Money SQL](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [Money.DDL](Money.DDL.md): Functions to return SQL DDL commands that support the
creation and deletion of the `money_with_currency` database
type and associated aggregate functions.

- [Money.Ecto.Composite.Type](Money.Ecto.Composite.Type.md): Implements the Ecto.Type behaviour for a user-defined Postgres composite type
called `:money_with_currency`.
- [Money.Ecto.Map.Type](Money.Ecto.Map.Type.md): Implements Ecto.Type behaviour for Money, where the underlying schema type
is a map.
- [Money.Ecto.Query.API](Money.Ecto.Query.API.md): Provides several helpers to query DB for the `Money` type.
- [Money.Validate](Money.Validate.md): Implements Ecto validations for the `t:Money.t/0` type based upon the
`Money.Ecto.Composite.Type` type.

## Mix Tasks

- [mix money.gen.postgres.avg_function](Mix.Tasks.Money.Gen.Postgres.AvgFunction.md): Generates a migration to add an avg (average) aggregate function
to Postgres for the `money_with_currency` type.
- [mix money.gen.postgres.min_max_functions](Mix.Tasks.Money.Gen.Postgres.MinMaxFunctions.md): Generates a migration to add min and max aggregate functions
to Postgres for the `money_with_currency` type.
- [mix money.gen.postgres.money_with_currency](Mix.Tasks.Money.Gen.Postgres.MoneyWithCurrency.md): Generates a migration to add a composite type called `:money_with_currency`
to a Postgres database.
- [mix money.gen.postgres.plus_operator](Mix.Tasks.Money.Gen.Postgres.PlusOperator.md): Generates a migration to add a `+` operator
to Postgres for the `money_with_currency` type
- [mix money.gen.postgres.sum_function](Mix.Tasks.Money.Gen.Postgres.SumFunction.md): Generates a migration to add a sum aggregate function
to Postgres for the `money_with_currency` type.

