django-sync-env


Namedjango-sync-env JSON
Version 0.3.0 PyPI version JSON
download
home_pageNone
SummaryBackup, Sync and Restore Databases and Media
upload_time2024-04-10 04:05:51
maintainerNone
docs_urlNone
authorDan Brosnan
requires_python<4.0,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Django sync env

django-sync-env is a Django app to manage backing up and restoring django databases and media assets easily.

Detailed documentation is in the "docs" directory (it's a work in progress).


## Requirements:
- configurable backups and restore which can be run on demand, celery cron or in dev.
- support s3 bucket and file storage options first, add azure blob storage later
- interactive prompts for local dev
- command line options with --no-input for CICD and automations
- restore latest option for media and backups for X env
- backup before restore option


## Setup

1. Add "django_sync_env" to your INSTALLED_APPS setting like this:

```
   INSTALLED_APPS = [
   ...,
   "django_sync_env",
   ]
```

2. Configure the app via a settings file .typically `./settings/partial/sync_env.py` for base configuration,
   don't forget to import this file via your base.py settings file
   And override any required settings per environment via `./settings/partials/[env].py`
   see [example_partials](docs/example_partials.md)

There is a [s3 terraform example](docs/example_terraform_aws_s3_bucket.md) for provisioning
an aws s3 bucket, iam user, roles and policy to allow for remote backup/restore to/from a secure s3 bucket.

See [management commands](docs/management_commands.md) for more details for each of the commands available.

- `./manage.py sync_env_backup_db` [usage](docs/management_commands.md#managepy-syncenvbackupdb)
- `./manage.py sync_env_backup_media`
- `./manage.py sync_env_restore_db`
- `./manage.py sync_env_restore_media`
- `./manage.py sync_env_list_backups`

See [Tasks](docs/tasks.md) for more details for each of the tasks available.

## Development and Publishing
See [documentation](docs/development_and_release_notes.md). 


## TODO:
- remove command options which we wont use
- make sure all management commands work with good error logging and handling
- Update the sync-env-backup command to enable the option to specify particular databases
- Update the sync-env-backup command to exclude particular tables in particular databases
- 

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "django-sync-env",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Dan Brosnan",
    "author_email": "dan.brosnan@octave.nz",
    "download_url": "https://files.pythonhosted.org/packages/a8/85/98e54202163e115f84f73fca23dc181572af87b99f5d9ba856d0e3ec1b6a/django_sync_env-0.3.0.tar.gz",
    "platform": null,
    "description": "# Django sync env\n\ndjango-sync-env is a Django app to manage backing up and restoring django databases and media assets easily.\n\nDetailed documentation is in the \"docs\" directory (it's a work in progress).\n\n\n## Requirements:\n- configurable backups and restore which can be run on demand, celery cron or in dev.\n- support s3 bucket and file storage options first, add azure blob storage later\n- interactive prompts for local dev\n- command line options with --no-input for CICD and automations\n- restore latest option for media and backups for X env\n- backup before restore option\n\n\n## Setup\n\n1. Add \"django_sync_env\" to your INSTALLED_APPS setting like this:\n\n```\n   INSTALLED_APPS = [\n   ...,\n   \"django_sync_env\",\n   ]\n```\n\n2. Configure the app via a settings file .typically `./settings/partial/sync_env.py` for base configuration,\n   don't forget to import this file via your base.py settings file\n   And override any required settings per environment via `./settings/partials/[env].py`\n   see [example_partials](docs/example_partials.md)\n\nThere is a [s3 terraform example](docs/example_terraform_aws_s3_bucket.md) for provisioning\nan aws s3 bucket, iam user, roles and policy to allow for remote backup/restore to/from a secure s3 bucket.\n\nSee [management commands](docs/management_commands.md) for more details for each of the commands available.\n\n- `./manage.py sync_env_backup_db` [usage](docs/management_commands.md#managepy-syncenvbackupdb)\n- `./manage.py sync_env_backup_media`\n- `./manage.py sync_env_restore_db`\n- `./manage.py sync_env_restore_media`\n- `./manage.py sync_env_list_backups`\n\nSee [Tasks](docs/tasks.md) for more details for each of the tasks available.\n\n## Development and Publishing\nSee [documentation](docs/development_and_release_notes.md). \n\n\n## TODO:\n- remove command options which we wont use\n- make sure all management commands work with good error logging and handling\n- Update the sync-env-backup command to enable the option to specify particular databases\n- Update the sync-env-backup command to exclude particular tables in particular databases\n- \n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Backup, Sync and Restore Databases and Media",
    "version": "0.3.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a04e0839299517cdd091d160c3bf74f283442e1c14353eccab221003feef4a4f",
                "md5": "cbf183f8821bea7004ac9c53035e8cf5",
                "sha256": "57b1ea4fb54450ff0739d48b85f3f129f1d1f63297b4c3059aa8043758254e80"
            },
            "downloads": -1,
            "filename": "django_sync_env-0.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "cbf183f8821bea7004ac9c53035e8cf5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 33504,
            "upload_time": "2024-04-10T04:05:49",
            "upload_time_iso_8601": "2024-04-10T04:05:49.246115Z",
            "url": "https://files.pythonhosted.org/packages/a0/4e/0839299517cdd091d160c3bf74f283442e1c14353eccab221003feef4a4f/django_sync_env-0.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a88598e54202163e115f84f73fca23dc181572af87b99f5d9ba856d0e3ec1b6a",
                "md5": "65fbcb8c5db12d155e7b311fe6269c2f",
                "sha256": "e3ec6ed3d25fd07fcf4e8c29528050454a9c5992c5ef3e3ffdcbbf146582fae8"
            },
            "downloads": -1,
            "filename": "django_sync_env-0.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "65fbcb8c5db12d155e7b311fe6269c2f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 22231,
            "upload_time": "2024-04-10T04:05:51",
            "upload_time_iso_8601": "2024-04-10T04:05:51.100195Z",
            "url": "https://files.pythonhosted.org/packages/a8/85/98e54202163e115f84f73fca23dc181572af87b99f5d9ba856d0e3ec1b6a/django_sync_env-0.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-10 04:05:51",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "django-sync-env"
}
        
Elapsed time: 0.33538s