Skip to main content

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:

  1. Install django-db-purge by running:
pip install django-db-purge
  1. Include 'dbpurge' in your INSTALLED_APPS settings.

  2. Locate the db_purge.py file in the management/commands directory of the Django dbpurge app.

  3. 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
    ]
    
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_db_purge-0.2.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

django_db_purge-0.2-py3-none-any.whl (4.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page