# `mix ash.extend`
[🔗](https://github.com/ash-project/ash/blob/v3.23.1/lib/mix/tasks/ash.extend.ex#L6)

Adds an extension or extensions to the domain/resource

Extensions can either be a fully qualified module name, or one of the following list, based on the thing being extended

### Ash.Domain

- `json_api` - `AshJsonApi.Domain`
- `graphql` - `AshGraphql.Domain`

### Ash.Resource

- `postgres` - `AshPostgres.DataLayer`
- `sqlite` - `AshSqlite.DataLayer`
- `mysql` - `AshMysql.DataLayer`
- `ets` - `Ash.DataLayer.Ets`
- `mnesia` - `Ash.DataLayer.Mnesia`
- `embedded` - `data_layer: :embedded`
- `json_api` - `AshJsonApi.Resource`
- `graphql` - `AshGraphql.Resource`

## Example

```bash
mix ash.extend My.Domain.Resource postgres,Ash.Policy.Authorizer
```

---

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