From 30f7835cefaba8629c7e05c39fcefb85a0f59a67 Mon Sep 17 00:00:00 2001 From: klmp200 Date: Wed, 4 Oct 2017 11:26:40 +0200 Subject: [PATCH] Operations documentation --- core/operations.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/core/operations.py b/core/operations.py index ce1adfe0..ea847fd9 100644 --- a/core/operations.py +++ b/core/operations.py @@ -22,13 +22,27 @@ # # +""" + This page is useful for custom migration tricks. + Sometimes, when you need to have a migration hack and you think it can be + useful again, put it there, we never know if we might need the hack again. +""" + from django.db import connection, migrations class PsqlRunOnly(migrations.RunSQL): """ - Usefull for migrations with specific postgresql commands - Avoid breaking tests and local dev environnment + This is an SQL runner that will launch the given command only if + the used DBMS is PostgreSQL. + It may be useful to run Postgres' specific SQL, or to take actions + that would be non-senses with backends other than Postgre, such + as disabling particular constraints that would prevent the migration + to run successfully. + + See `club/migrations/0010_auto_20170912_2028.py` as an example. + Some explanations can be found here too: + https://stackoverflow.com/questions/28429933/django-migrations-using-runpython-to-commit-changes """ def _run_sql(self, schema_editor, sqls):