Skip to content

lorinkoz/django-pgschemas

Repository files navigation

django-pgschemas

Packaging: poetry Build status Documentation status Code coverage PyPi version Downloads

This package uses Postgres schemas to support data multi-tenancy in a single Django project. It is a fork of django-tenants with some conceptual changes:

  • There are static tenants and dynamic tenants. Static tenants can have their own apps and urlconf.
  • Tenants can be routed via:
    • URL using subdomain or subfolder on shared subdomain
    • Session
    • Headers
  • Public schema should not be used for storing the main site data, but the true shared data across all tenants. Table "overriding" via search path is not encouraged.
  • Management commands can be run on multiple schemas via wildcards, either sequentially or in parallel using multithreading.

Documentation

https://django-pgschemas.readthedocs.io/

Version 1.0 has several breaking changes from the 0.* series. Please refer to this discussion for details and bug reports.

Contributing

  • Join the discussion at https://github.com/lorinkoz/django-pgschemas/discussions.
  • PRs are welcome! If you have questions or comments, please use the discussions link above.
  • To run the test suite run make or make coverage. The tests for this project live inside a small django project called sandbox.

Credits