bernardopires / django-tenant-schemas

Tenant support for Django using PostgreSQL schemas.
https://django-tenant-schemas.readthedocs.org/en/latest/
MIT License
1.45k stars 424 forks source link

fix: do not fail in initial migrations if PG_EXTRA_SEARCH_PATHS … #622

Open zvolsky opened 4 years ago

zvolsky commented 4 years ago

Do not fail in initial migrations if PG_EXTRA_SEARCH_PATHS is defined.

If we have empty database (like after DROP/CREATE DATABASE), the table for tenant model is not created yet and in old code all ./manage.py commands (like migrate_schemas) will fail. Worse: The error message is not very descriptive so it is not much easy find a workaround (which is temporary comment out PG_EXTRA_SEARCH_PATHS in settings).

This merge request should handle this so the code will run during initial migrations and no change in settings is needed.

In new code we just check if the (tenant) table exists in database.

Best regards, Mirek

zvolsky commented 4 years ago

Please close the older related https://github.com/bernardopires/django-tenant-schemas/pull/542

zvolsky commented 4 years ago

Seems this will be accepted never. So good solution is following code in your settings:

import sys
if 'manage.py migrate' not in ' '.join(sys.argv).replace('makemigrations', 'migrate'):
    PG_EXTRA_SEARCH_PATHS = ['extensions']