Spec-Zone.ru › Django 2.0

Операции миграции базы данных

Все эти операции доступны из модуля django.contrib.postgres.operations.

Создание расширений PostgreSQL с помощью миграций

Вы можете создать расширение PostgreSQL в вашей базе данных, используя файл миграции. В этом примере создается расширение hstore, но те же принципы применимы и для других расширений.

Настройте расширение hstore в PostgreSQL перед первой CreateModel или AddField операцией, которая использует HStoreField, добавив миграцию с операцией HStoreExtension. Например:

from django.contrib.postgres.operations import HStoreExtension

class Migration(migrations.Migration):
    ...

    operations = [
        HStoreExtension(),
        ...
    ]

Для создания расширения требуется пользователь базы данных с правами суперпользователя. Если у пользователя Django базы данных нет прав суперпользователя, вам необходимо создать расширение вне миграций Django с помощью пользователя, имеющего соответствующие права. В этом случае подключитесь к вашей базе данных Django и выполните запрос CREATE EXTENSION IF NOT EXISTS hstore;.

CreateExtension

class CreateExtension(name) [source]

Подкласс Operation, который устанавливает расширения PostgreSQL.

name

Это обязательный аргумент. Имя расширения, которое необходимо установить.

BtreeGinExtension

class BtreeGinExtension [source]
Добавлена в Django 1.11.

Установить расширение btree_gin.

BtreeGistExtension

class BtreeGistExtension [source]
Добавлена в Django 2.0.

Установить расширение btree_gist.

CITextExtension

class CITextExtension [source]
Добавлена в Django 1.11.

Установить расширение citext.

CryptoExtension

class CryptoExtension [source]
Добавлена в Django 2.0.

Установить расширение pgcrypto.

HStoreExtension

class HStoreExtension [source]

Устанавливает расширение hstore и также настраивает соединение для интерпретации данных hstore для возможного использования в последующих миграциях.

TrigramExtension

class TrigramExtension [source]

Устанавливает расширение pg_trgm.

UnaccentExtension

class UnaccentExtension [source]

Устанавливает расширение unaccent.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.0/ref/contrib/postgres/operations/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API