---
title: "Opérations de migration de base de données"
version: 1.10
locale: fr
source: https://docs.djangoproject.com/fr/1.10/ref/contrib/postgres/operations/
canonical: https://djangodocs.dev/fr/1.10/ref/contrib/postgres/operations/
---
# Opérations de migration de base de données

Toutes ces [opérations](/fr/1.10/ref/migration-operations/) sont disponibles dans le module `django.contrib.postgres.operations`.

## Création d’extension à l’aide des migrations

Il est possible de créer une extension de base de données PostgreSQL en utilisant un fichier de migration. Cet exemple crée une extension hstore, mais le même principe est applicable aux autres extensions.

Configurer l’extension hstore dans PostgreSQL avant la première opération `CreateModel` ou `AddField` qui concerne un champ [`HStoreField`](/fr/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField) en ajoutant une migration comprenant l’opération [`HStoreExtension`](#django.contrib.postgres.operations.HStoreExtension). Par exemple :

```
from django.contrib.postgres.operations import HStoreExtension

class Migration(migrations.Migration):
    ...

    operations = [
        HStoreExtension(),
        ...
    ]
```

La création de l’extension exige un utilisateur de base de données possédant les droits de superutilisateur. Si l’utilisateur de base de données Django ne possède pas ces privilèges, il est alors nécessaire de créer l’extension en dehors des migrations Django avec un utilisateur qui possède les droits requis. Dans ce cas, connectez-vous à la base de données et lancez la requête `CREATE EXTENSION IF NOT EXISTS hstore;`.

## `CreateExtension`

#### `class CreateExtension(name)`

Une sous-classe d”`Operation` qui installe des extensions PostgreSQL.

#### `name`

Ce paramètre est obligatoire. Le nom de l’extension à installer.

## `HStoreExtension`

#### `class HStoreExtension`

Installe l’extension `hstore` et configure également la connexion afin d’interpréter les données hstore pour un usage possible dans les migrations suivantes.

## `TrigramExtension`

#### `class TrigramExtension`

> **New in Django 1.10**

Installe l’extension `pg_trgm`.

## `UnaccentExtension`

#### `class UnaccentExtension`

Installe l’extension `unaccent`.
