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