Как включить функции PostgreSQL в миграции Django? - PullRequest
0 голосов
/ 05 марта 2019

Я установил API с Django REST Framework и хотел бы включить некоторые функции Postgres как часть миграции базы данных. Я вижу два способа:

  1. Редактирование файла миграции (генерируется python manage.py makemigrations)
  2. Создание таблицы постов

Первое кажется более легким, но трудоемким, если миграцию нужно переделать. Что бы вы посоветовали лучший способ сделать это?

Спасибо.

1 Ответ

0 голосов
/ 08 марта 2019

Отвечая на мой вопрос, чтобы прояснить вопрос (спасибо за все комментарии):

Сначала я сделал пустую миграцию (python manage.py makemigrations --empty app_name)

Затем к операциям добавьте SQL функции:

migrations.RunSQL(
    ('CREATE OR REPLACE FUNCTION my_function() ...'),
    ('DROP FUNCTION IF EXISTS my_function();')
)

Две строки предназначены для перенастройки и перенастройки SQL, подробнее здесь: https://docs.djangoproject.com/en/2.1/ref/migration-operations/#runsql

Пользовательская миграция будет запускаться автоматически после основных миграций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...