# django-pgschemas
[![Packaging: poetry](https://img.shields.io/badge/packaging-poetry-purple.svg)](https://python-poetry.org/)
[![Build status](https://github.com/lorinkoz/django-pgschemas/workflows/code/badge.svg)](https://github.com/lorinkoz/django-pgschemas/actions)
[![Documentation status](https://readthedocs.org/projects/django-pgschemas/badge/?version=latest)](https://django-pgschemas.readthedocs.io/)
[![Code coverage](https://coveralls.io/repos/github/lorinkoz/django-pgschemas/badge.svg?branch=master)](https://coveralls.io/github/lorinkoz/django-pgschemas?branch=master)
[![PyPi version](https://badge.fury.io/py/django-pgschemas.svg)](http://badge.fury.io/py/django-pgschemas)
[![Downloads](https://pepy.tech/badge/django-pgschemas/month)](https://pepy.tech/project/django-pgschemas/)
This package uses Postgres schemas to support data multi-tenancy in a single Django project. It is a fork of [django-tenants](https://github.com/django-tenants/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](https://github.com/lorinkoz/django-pgschemas/discussions/277) 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
- Tom Turner for [django-tenants](https://github.com/django-tenants/django-tenants).
- Bernardo Pires for [django-tenant-schemas](https://github.com/bernardopires/django-tenant-schemas).
- Denish Patel for [pg-clone-schema](https://github.com/denishpatel/pg-clone-schema)
Raw data
{
"_id": null,
"home_page": "https://github.com/lorinkoz/django-pgschemas",
"name": "django-pgschemas",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "django, tenants, schemas, multi-tenancy, postgres",
"author": "Lorenzo Pe\u00f1a",
"author_email": "lorinkoz@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/36/48/c52bb0f69f56dfb9bb2f6934bccae24088d0b93ab718392c2147d7d006d9/django_pgschemas-1.0.2.tar.gz",
"platform": null,
"description": "# django-pgschemas\n\n[![Packaging: poetry](https://img.shields.io/badge/packaging-poetry-purple.svg)](https://python-poetry.org/)\n[![Build status](https://github.com/lorinkoz/django-pgschemas/workflows/code/badge.svg)](https://github.com/lorinkoz/django-pgschemas/actions)\n[![Documentation status](https://readthedocs.org/projects/django-pgschemas/badge/?version=latest)](https://django-pgschemas.readthedocs.io/)\n[![Code coverage](https://coveralls.io/repos/github/lorinkoz/django-pgschemas/badge.svg?branch=master)](https://coveralls.io/github/lorinkoz/django-pgschemas?branch=master)\n[![PyPi version](https://badge.fury.io/py/django-pgschemas.svg)](http://badge.fury.io/py/django-pgschemas)\n[![Downloads](https://pepy.tech/badge/django-pgschemas/month)](https://pepy.tech/project/django-pgschemas/)\n\nThis package uses Postgres schemas to support data multi-tenancy in a single Django project. It is a fork of [django-tenants](https://github.com/django-tenants/django-tenants) with some conceptual changes:\n\n- There are static tenants and dynamic tenants. Static tenants can have their own apps and urlconf.\n- Tenants can be routed via:\n - URL using subdomain or subfolder on shared subdomain\n - Session\n - Headers\n- 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.\n- Management commands can be run on multiple schemas via wildcards, either sequentially or in parallel using multithreading.\n\n## Documentation\n\nhttps://django-pgschemas.readthedocs.io/\n\nVersion 1.0 has several breaking changes from the 0.\\* series. Please refer to [this discussion](https://github.com/lorinkoz/django-pgschemas/discussions/277) for details and bug reports.\n\n## Contributing\n\n- Join the discussion at https://github.com/lorinkoz/django-pgschemas/discussions.\n- PRs are welcome! If you have questions or comments, please use the discussions link above.\n- To run the test suite run `make` or `make coverage`. The tests for this project live inside a small django project called `sandbox`.\n\n## Credits\n\n- Tom Turner for [django-tenants](https://github.com/django-tenants/django-tenants).\n- Bernardo Pires for [django-tenant-schemas](https://github.com/bernardopires/django-tenant-schemas).\n- Denish Patel for [pg-clone-schema](https://github.com/denishpatel/pg-clone-schema)\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Django multi-tenancy through Postgres schemas",
"version": "1.0.2",
"project_urls": {
"Documentation": "https://django-pgschemas.readthedocs.io/",
"Homepage": "https://github.com/lorinkoz/django-pgschemas",
"Repository": "https://github.com/lorinkoz/django-pgschemas"
},
"split_keywords": [
"django",
" tenants",
" schemas",
" multi-tenancy",
" postgres"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3b001adb9af1f7e0c4c2169137cdf27ac146f27fd3e6870443320d54d442f540",
"md5": "ee16bcc8e1aed4f3eec6be4495a12651",
"sha256": "c810b50c939eaf05e4f6cee25f99a5ddbb7efd3cf20eb9102549198c57f8d7e1"
},
"downloads": -1,
"filename": "django_pgschemas-1.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ee16bcc8e1aed4f3eec6be4495a12651",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 72401,
"upload_time": "2024-10-29T19:30:03",
"upload_time_iso_8601": "2024-10-29T19:30:03.996754Z",
"url": "https://files.pythonhosted.org/packages/3b/00/1adb9af1f7e0c4c2169137cdf27ac146f27fd3e6870443320d54d442f540/django_pgschemas-1.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3648c52bb0f69f56dfb9bb2f6934bccae24088d0b93ab718392c2147d7d006d9",
"md5": "1841ba2419edea1c8f73583740072c19",
"sha256": "da2ef7e451e93468f82c22dd7641d5ab3a6da3e3e8d8c4f572920ac5eb31f757"
},
"downloads": -1,
"filename": "django_pgschemas-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "1841ba2419edea1c8f73583740072c19",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 65229,
"upload_time": "2024-10-29T19:30:05",
"upload_time_iso_8601": "2024-10-29T19:30:05.737889Z",
"url": "https://files.pythonhosted.org/packages/36/48/c52bb0f69f56dfb9bb2f6934bccae24088d0b93ab718392c2147d7d006d9/django_pgschemas-1.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-29 19:30:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lorinkoz",
"github_project": "django-pgschemas",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "django-pgschemas"
}