1
0
mirror of https://github.com/ae-utbm/sith.git synced 2025-07-19 00:09:24 +00:00
Files
.github
accounting
antispam
club
com
core
auth
fixtures
management
migrations
static
templates
templatetags
tests
views
__init__.py
admin.py
api.py
apps.py
baker_recipes.py
converters.py
fields.py
markdown.py
middleware.py
models.py
operations.py
schemas.py
search_indexes.py
signals.py
urls.py
utils.py
counter
docs
eboutic
election
forum
galaxy
launderette
locale
matmat
pedagogy
rootplace
sas
sith
staticfiles
subscription
trombi
.coveragerc
.env.example
.envrc
.gitattributes
.gitignore
.mailmap
.npmrc
.pre-commit-config.yaml
.python-version
CONTRIBUTING.rst
LICENSE
Procfile.service
Procfile.static
README.md
biome.json
conftest.py
manage.py
mkdocs.yml
openapi-csrf.ts
openapi-ts.config.ts
package-lock.json
package.json
pyproject.toml
tsconfig.json
uv.lock
vite.config.mts
Sith/core/operations.py
2024-07-21 00:57:04 +02:00

52 lines
1.8 KiB
Python

#
# Copyright 2016,2017
# - Sli <antoine@bartuccio.fr>
#
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
# http://ae.utbm.fr.
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License a published by the Free Software
# Foundation; either version 3 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Sofware Foundation, Inc., 59 Temple
# Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
"""Collection of utils 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):
"""SQL runner for PostgreSQL-only queries.
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.
If used on another DBMS than Postgres, it will be a noop.
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):
if connection.vendor == "postgresql":
super()._run_sql(schema_editor, sqls)