Операции миграции базы данных
Все эти операции доступны из модуля 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Это обязательный аргумент. Название расширения, которое нужно установить.
HStoreExtension
class HStoreExtension[source]Устанавливает расширение
hstoreи также настраивает подключение для интерпретации данных hstore, что может быть полезно для последующих миграций.
TrigramExtension
class TrigramExtension[source]- Новое в Django 1.10.
Устанавливает расширение
pg_trgm.
UnaccentExtension
class UnaccentExtension[source]Устанавливает расширение
unaccent.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/operations/