Spec-Zone.ru › Django 2.1

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

Все эти операции доступны из модуля 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]

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

BtreeGistExtension

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

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

CITextExtension

class CITextExtension [source]

Устанавливает расширение 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.1/ref/contrib/postgres/operations/

Spec-Zone.ru

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