Clean up your Django database effortlessly with customizable record removal based on your retention policy
Project description
Django Database Purge
The Django Database Purge management command is a tool for efficiently removing unwanted records from your Django project's database based on a specified retention policy. This command helps you keep your database clean and optimized by permanently deleting records that are no longer needed.
Features:
- Flexible Retention Policy: Define your own retention policy to determine which records should be purged from the database.
- Efficient Data Management: Easily manage the size of your database by removing outdated or unnecessary records.
- Customizable: Adapt the command to suit your project's specific requirements and database structure.
- Safe: Built-in safeguards to prevent accidental data loss, ensuring that only the intended records are purged.
How to Use:
- Install django-db-purge by running:
pip install django-db-purge
-
Include 'dbpurge' in your INSTALLED_APPS settings.
-
Locate the
db_purge.py
file in themanagement/commands
directory of the Django dbpurge app. -
Add your own values to the retention policies dictionary in the
db_purge.py
file, based on your requirements. Below is a guide on how to set up the retention policies:1.
app_name
- Description: Name of the Django app containing the model.
- Example:
my_django_app
2.
model_name
- Description: Name of the Django model from which records will be deleted.
- Example:
MyModel
3.
time_based_column_name
- Description: Name of the column in the model that contains the timestamp or datetime field used for determining the age of records.
- Example:
created_at
4.
data_retention_num_seconds
- Description: Time duration in seconds for which records will be retained before deletion.
- Example:
2592000
(for 30 days)
Example:
retention_policies = [ { 'app_name': 'my_django_app', 'model_name': 'MyModel', 'time_based_column_name': 'created_at', 'data_retention_num_seconds': 2592000, # 30 days in seconds }, # Add more retention policies as needed ]
-
Then, either periodically call the db_purge management command (e.g., via a system cronjob), or install and configure django-cron.
Contributions:
Contributions are welcome! If you encounter any issues or have suggestions for improvements, please submit an issue or pull request on GitHub.
License:
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_db_purge-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35f9d56ba6136f09b7e82bd226591db5b29d295ee1242987095d37b27d5896c7 |
|
MD5 | 724dbbd4ea14d6beb80a6f6297bdbb42 |
|
BLAKE2b-256 | de57fcdac196e87b4b7fda191beab571afb30d19776b4fe0f4d516dcbc71ebb4 |