django-sync-env


Namedjango-sync-env JSON
Version 0.3.2 PyPI version JSON
download
home_pageNone
SummaryBackup, Sync and Restore Databases and Media
upload_time2024-09-04 06:31:10
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/41/01/ff6d96a346cfa9ac153e24b1216cf6e2c4a43c8d528ddddebb90a4861542/django_sync_env-0.3.2.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\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Backup, Sync and Restore Databases and Media",
    "version": "0.3.2",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37de41eac8be515331141e11a594877914dbd3ef0ab40469eed38eae2d9c1629",
                "md5": "29870202ed5744d98809a001a34056db",
                "sha256": "c45c613bd7f7ac8c0e95447d97898776afba2dd0cdc7a1d38791e232cc12749f"
            },
            "downloads": -1,
            "filename": "django_sync_env-0.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "29870202ed5744d98809a001a34056db",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.10",
            "size": 33860,
            "upload_time": "2024-09-04T06:31:08",
            "upload_time_iso_8601": "2024-09-04T06:31:08.778121Z",
            "url": "https://files.pythonhosted.org/packages/37/de/41eac8be515331141e11a594877914dbd3ef0ab40469eed38eae2d9c1629/django_sync_env-0.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4101ff6d96a346cfa9ac153e24b1216cf6e2c4a43c8d528ddddebb90a4861542",
                "md5": "6bb1a30fee786f18b5b334b0d3814964",
                "sha256": "41fa69fca99bab0e579ac335646a44b1bea5f228a4f81ca9d3ef748b63212423"
            },
            "downloads": -1,
            "filename": "django_sync_env-0.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "6bb1a30fee786f18b5b334b0d3814964",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.10",
            "size": 22698,
            "upload_time": "2024-09-04T06:31:10",
            "upload_time_iso_8601": "2024-09-04T06:31:10.730223Z",
            "url": "https://files.pythonhosted.org/packages/41/01/ff6d96a346cfa9ac153e24b1216cf6e2c4a43c8d528ddddebb90a4861542/django_sync_env-0.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-04 06:31:10",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "django-sync-env"
}
        
Elapsed time: 9.20890s