| Name | yoyo-cloud JSON |
| Version |
0.1.0
JSON |
| download |
| home_page | None |
| Summary | Run SQL migrations stored in the cloud. |
| upload_time | 2024-03-30 09:41:47 |
| maintainer | None |
| docs_url | None |
| author | Fasih Khatib |
| requires_python | <4.0,>=3.12 |
| license | None |
| keywords |
|
| VCS |
|
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# ☁️ Yoyo Cloud ☁️
## Run SQL migrations from cloud storage
Yoyo cloud builds on top of [Yoyo migrations](https://ollycope.com/software/yoyo/latest/) and allows appying SQL migrations that are stored in cloud storage.
## Example
### Applying from S3
```python
from yoyo import get_backend
from yoyo_cloud import read_s3_migrations
if __name__ == "__main__":
migrations = read_s3_migrations(paths=["s3://bucket/yoyo-migrations-s3/"])
backend = get_backend(f"postgresql://postgres:my-secret-pw@localhost:5432/postgres")
with backend.lock():
# -- Apply any outstanding migrations
backend.apply_migrations(backend.to_apply(migrations))
```
Raw data
{
"_id": null,
"home_page": null,
"name": "yoyo-cloud",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Fasih Khatib",
"author_email": "hellofasih.confound928@passinbox.com",
"download_url": "https://files.pythonhosted.org/packages/c6/6c/5bead384ea6666465edbec10142334ea4af9ca290bf76a6e824d3d5f8f3b/yoyo_cloud-0.1.0.tar.gz",
"platform": null,
"description": "# \u2601\ufe0f Yoyo Cloud \u2601\ufe0f\n## Run SQL migrations from cloud storage \n\nYoyo cloud builds on top of [Yoyo migrations](https://ollycope.com/software/yoyo/latest/) and allows appying SQL migrations that are stored in cloud storage.\n\n## Example \n### Applying from S3\n```python\nfrom yoyo import get_backend\nfrom yoyo_cloud import read_s3_migrations\n\nif __name__ == \"__main__\":\n migrations = read_s3_migrations(paths=[\"s3://bucket/yoyo-migrations-s3/\"])\n backend = get_backend(f\"postgresql://postgres:my-secret-pw@localhost:5432/postgres\")\n\n with backend.lock():\n # -- Apply any outstanding migrations\n backend.apply_migrations(backend.to_apply(migrations))\n```",
"bugtrack_url": null,
"license": null,
"summary": "Run SQL migrations stored in the cloud.",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1c2784950a463dbdc75ea1bfc03d02cf26948aff6a67a138ea920f1a0fd5db82",
"md5": "da2839b624c9b61bd92037ae2766ca45",
"sha256": "c8742dd24d48034fed245c2bddc61260cbe1a56195537595f5e1d032afad4c9f"
},
"downloads": -1,
"filename": "yoyo_cloud-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da2839b624c9b61bd92037ae2766ca45",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 6207,
"upload_time": "2024-03-30T09:41:45",
"upload_time_iso_8601": "2024-03-30T09:41:45.284101Z",
"url": "https://files.pythonhosted.org/packages/1c/27/84950a463dbdc75ea1bfc03d02cf26948aff6a67a138ea920f1a0fd5db82/yoyo_cloud-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c66c5bead384ea6666465edbec10142334ea4af9ca290bf76a6e824d3d5f8f3b",
"md5": "427dc037ddfd473266009d2da4c96dd4",
"sha256": "c5ecae2b7f24fd5c40b260b05a20845d768291cd08615846798307730ae31ddd"
},
"downloads": -1,
"filename": "yoyo_cloud-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "427dc037ddfd473266009d2da4c96dd4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 4254,
"upload_time": "2024-03-30T09:41:47",
"upload_time_iso_8601": "2024-03-30T09:41:47.713946Z",
"url": "https://files.pythonhosted.org/packages/c6/6c/5bead384ea6666465edbec10142334ea4af9ca290bf76a6e824d3d5f8f3b/yoyo_cloud-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-30 09:41:47",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "yoyo-cloud"
}