From d693a086def21d843c03ec3f5b5e697ed2463d45 Mon Sep 17 00:00:00 2001 From: Frantisek Holop Date: Fri, 22 May 2020 11:40:34 +0200 Subject: Fixed #31615 -- Made migrations skip extension operations if not needed. - Don't try to create an existing extension. - Don't try to drop a nonexistent extension. --- docs/ref/contrib/postgres/operations.txt | 7 +++++++ docs/releases/3.2.txt | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/ref/contrib/postgres/operations.txt b/docs/ref/contrib/postgres/operations.txt index 8696e4e81f..8571cc84e8 100644 --- a/docs/ref/contrib/postgres/operations.txt +++ b/docs/ref/contrib/postgres/operations.txt @@ -30,12 +30,19 @@ For example:: ... ] +Django checks that the extension already exists in the database and skips the +migration if so. + For most extensions, this requires a database user with superuser privileges. If the Django database user doesn't have the appropriate privileges, you'll have to create the extension outside of Django migrations with a user that has them. In that case, connect to your Django database and run the query ``CREATE EXTENSION IF NOT EXISTS hstore;``. +.. versionchanged:: 3.2 + + In older versions, the existence of an extension isn't checked. + .. currentmodule:: django.contrib.postgres.operations ``CreateExtension`` diff --git a/docs/releases/3.2.txt b/docs/releases/3.2.txt index 84f757cd2b..bd8db085a9 100644 --- a/docs/releases/3.2.txt +++ b/docs/releases/3.2.txt @@ -63,7 +63,9 @@ Minor features :mod:`django.contrib.messages` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* ... +* The :class:`~django.contrib.postgres.operations.CreateExtension` operation + now checks that the extension already exists in the database and skips the + migration if so. :mod:`django.contrib.postgres` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- cgit v1.3